﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Banesco.Entidades;
using Banesco.Logica;
using ProntoCompra.Logica;
using LogicStudio.HashEncode;
using System.Configuration;


namespace WebCliente.Pages
{
    public partial class FrmAperturaJuridica : BanescoBase
    {

        Mensaje retMensaje = new Mensaje();

        BSBanesco objBS = new BSBanesco();

        UsuarioBase Usuario = new UsuarioBase();

        protected void Page_PreRender(object sender, EventArgs e)
        {
            Usuario = (UsuarioBase)Session[Constantes.SESIONUSUARIO];

            if (!IsPostBack)
            {
                if (Usuario.PaisRegistroSociedad.ToString() == String.Empty)
                {
                    ddlPaisRegistro.SelectedValue = Constantes.PANAMA;
                }
                else
                {
                    ddlPaisRegistro.SelectedValue = Usuario.PaisRegistroSociedad.ToString();
                }
            }

            Session["PAIS"] = ddlPaisRegistro.SelectedValue;

            if (Session[Constantes.SESIONUSUARIO] != null)
            {
                if (Usuario.EsPEP == "S")
                {
                    PEPs.Visible = true;
                }
                else
                {
                    PEPs.Visible = false;
                }
            }


            if (ddlPaisRegistro.SelectedValue == Constantes.VENEZUELA)
            {
                ucSolicitudDeServiciosJuridica.HabilitarSucursal = false;
                ucSolicitudDeServiciosJuridica.SucursalPreferencia = "572";
                lblFechaRegistro.Text = "Fecha de Inscripción:";
            }
            else
            {
                lblFechaRegistro.Text = "Fecha de Registro:";
                ucSolicitudDeServiciosJuridica.HabilitarSucursal = true;
                if (Usuario.SucursalDePreferencia != String.Empty)
                {
                    if (Usuario.SucursalDePreferencia == "572")
                        ucSolicitudDeServiciosJuridica.SucursalPreferencia = Constantes.LISTASTODOSVALOR;
                }
                else
                {
                    if (ucSolicitudDeServiciosJuridica.SucursalPreferencia == "572")
                        ucSolicitudDeServiciosJuridica.SucursalPreferencia = Constantes.LISTASTODOSVALOR;
                }

            }



            if (!IsPostBack)
                if ((Usuario.CodigoEstadoSolicitud == "RG") || (Usuario.CodigoEstadoSolicitud == "CP"))
                {
                    MostrarDatosJuridica();
                    CargarGridFirmantes(Usuario.IdCliente);
                    CargarGridInformacionAsociada(Usuario.IdCliente);
                    CargarGridPEPs(Usuario.IdCliente);
                    TabsInformacionAsociada.Enabled = true;
                    TabsGenerales.ActiveTabIndex = 1;
                    ActivarValidatorsClientePrincipal(false);
                    PrimerStageCompletado();
                }


        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                EstablecerMensaje();

                //Session.RemoveAll();
                valoresIniciales();

                int IdSolicitud = 0;
                //IdSolicitud = Convert.ToInt32(Request.QueryString["ID"]);


                if (Session[Constantes.SESIONCLIENTEPLATAFORMA] == null)
                {
                    string mensajeEncriptado = Request.QueryString["HASH"];

                    if (!String.IsNullOrEmpty(mensajeEncriptado))
                    {
                        string mensajeDesencriptado = LogicStudioEncodeManager.DesencriptarMensaje(mensajeEncriptado);
                        if (!String.IsNullOrEmpty(mensajeDesencriptado))
                        {
                            string[] mensajeFinal = mensajeDesencriptado.Split('T');
                            DateTime fechaDeRegistro = ConvertirFecha(mensajeFinal[2] + "/" + mensajeFinal[1] + "/" + mensajeFinal[3]);

                            TimeSpan ts = Convert.ToDateTime(DateTime.Now.ToShortDateString()) - fechaDeRegistro;
                            int horas = (ts.Days * 24);
                            int horasVigencias = Convert.ToInt32(ConfigurationManager.AppSettings["VigenciaExpiracionEmail"].ToString());


                            string estadoSolicitud = string.Empty;
                            objBS.VerificarEstadoSolicitud(Convert.ToInt32(mensajeFinal[0]), ref estadoSolicitud);
                            Usuario.CodigoEstadoSolicitud = estadoSolicitud;
                            if (horas > horasVigencias)
                            {
                                if (Usuario.CodigoEstadoSolicitud != "RG")
                                    Response.Redirect("/Pages/mensajes.aspx");
                            }
                            if (!String.IsNullOrEmpty(mensajeFinal[0]))
                                IdSolicitud = Convert.ToInt32(mensajeFinal[0]);
                        }
                        else
                        {
                            Session[Constantes.SESIONERRORES] = Constantes.ERRORDESENCRIPTAR;
                            Response.Redirect("/Pages/mensajes.aspx");
                        }
                    }

                }
                else
                {
                    IdSolicitud = Convert.ToInt32(Session[Constantes.SESIONCLIENTEPLATAFORMA].ToString());
                    ucMiscelaneosPersonaJuridica.DeshabilitarEmail = true;
                }

                if (IdSolicitud != 0)
                {

                    Usuario.IdSolicitud = IdSolicitud;
                    Session[Constantes.SESIONUSUARIO] = Usuario;
                    retMensaje = objBS.ObtenerDatosCliente(ref Usuario);


                    if (retMensaje.Status == Mensaje.EnumStatus.OK)
                    {
                        Session[Constantes.SESIONUSUARIO] = Usuario;
                        MostrarDatosCliente(Usuario);
                    }
                    else
                    {
                        ShowStatus("La solicitud de cuenta realizada no se encuentra disponible en estos momentos.");
                    }
                }


                //ClienteFirmante = new UsuarioBase();
                //ClienteFirmante.Nombre = "";
                //arrDatosCliente.Add(ClienteFirmante);

            }

        }

        protected void valoresIniciales()
        {
            ucMiscelaneosPersonaJuridica.DeshabilitarEmail = false;

            ucDireccionClienteJuridica.propertyCodigoPostal = false;
            //ucDireccionClienteJuridica.propertyEmail = false;
            ucDireccionClienteJuridica.propertyApartadoPostal = false;
            ucDireccionClienteJuridica.LabelPais = Constantes.PAISDERESIDENCIA;
            ucDireccionEmpleoFirmantes.propertyEmail = false;

            ucDireccionFirmantes.LabelPais = Constantes.PAISDERESIDENCIA;


            ucTelefonosPersonaJuridica.propertyTelefono1 = Constantes.TELEFONOOFICINA1;
            ucTelefonosPersonaJuridica.propertyTelefono2 = Constantes.TELEFONOOFICINA2;
            ucTelefonosPersonaJuridica.propertyOtroTelefono = Constantes.TELEFONOFAX;

            ucMiscelaneosFirmantes.propertyClienteBanesco = true;
            ucMiscelaneosFirmantes.propertyEmail = false;
            ucMiscelaneosPersonaJuridica.LabelEmail = "E-mail de Trabajo:";
            ucDireccionClienteJuridica.LabelEmail = "E-mail Personal:";

            ucIdentificacionFirmantes.CargarDDLIdentificacion = "N";
            CargarTipoIdentificacion("J");

            ucTelefonosFirmantes.propertyTelefono1 = Constantes.TELEFONODECASA;
            ucTelefonosFirmantes.propertyTelefono2 = Constantes.TELEFONOCELULAR;
            ucTelefonosFirmantes.propertyOtroTelefono = Constantes.OTROTELEFONO;

            UcDirectiva1.propertyCargo = true;
            UcDirectiva2.propertyCargo = true;
            UcDirectiva3.propertyCargo = true;

            ucDatosBasicosOperacion.HabilitarBeneficiarios = false;
            //ucDatosBasicosOperacion.HabilitarPEPs = false;
            ucSolicitudDeServiciosJuridica.HabilitarVisaDebito = false;

            CrearDatatableFirmantes();
            CrearDatatablePEPs();
            CrearDatatableRJA();
            //CrearDatatableAccionistas();
            //CrearDatatableJuntaDirectiva();
            //CrearDatatableRepresentanteLegal();

            CargarPaises();
            CargarTipoActividadEconomica();
            ActivarValidatorsInfoComplementaria(false);
            ActivarValidatorsFirmantes(false);
            ActivarValidatorsClientePrincipal(true);
        }

        protected void ActivarValidatorsClientePrincipal(Boolean valor)
        {
            ucMiscelaneosPersonaJuridica.HabilitarTodosValidators = valor;
            ucDireccionClienteJuridica.HabilitarTodosValidators = valor;
            ucTelefonosPersonaJuridica.HabilitarTodosValidators = valor;
            ucDatosBasicosOperacion.HabilitarIntermediarios = valor;
            ucSolicitudDeServiciosJuridica.HabilitarTodosValidators = valor;
        }

        protected void ActivarValidatorsInfoComplementaria(Boolean valor)
        {
            ucRepresentante.HabilitarTodosValidators = valor;
            UcDirectiva1.HabilitarTodosValidators = valor;
            UcDirectiva2.HabilitarTodosValidators = valor;
            UcDirectiva3.HabilitarTodosValidators = valor;
            UcAccionista1.HabilitarTodosValidators = valor;
            UcAccionista2.HabilitarTodosValidators = valor;

            ucDireccionRepresentante.HabilitarTodosValidators = valor;
            ucDireccionDirectiva1.HabilitarTodosValidators = valor;
            ucDireccionDirectiva2.HabilitarTodosValidators = valor;
            ucDireccionDirectiva3.HabilitarTodosValidators = valor;
            ucDireccionAccionista1.HabilitarTodosValidators = valor;
            ucDireccionAccionista2.HabilitarTodosValidators = valor;

        }

        protected void ActivarValidatorsFirmantes(Boolean valor)
        {
            ucIdentificacionFirmantes.HabilitarTodosValidators = valor;
            ucDatosFirmantes.HabilitarTodosValidators = valor;
            ucDireccionFirmantes.HabilitarTodosValidators = valor;
            ucMiscelaneosFirmantes.HabilitarTodosValidators = valor;
            ucTelefonosFirmantes.HabilitarTodosValidators = valor;
            UcDatosAdicionalesFirmantes.HabilitarTodosValidators = valor;
            ucDireccionEmpleoFirmantes.HabilitarTodosValidators = valor;
            //ucOtrosDatosFirmantes.HabilitarTodosValidators = valor;
        }

        protected void LlenarDatos()
        {
            //(ucIdentificacionCliente.TipoIdentificacion, ucIdentificacionCliente.NumeroIdentificacion, ucIdentificacionCliente.NumeroSeguroSocial, 
            Usuario = (UsuarioBase)Session[Constantes.SESIONUSUARIO];



            //Usuario.Identificacion = ucIdentificacionCliente.NumeroIdentificacion;
            //Usuario.SeguroSocial = ucIdentificacionCliente.NumeroSeguroSocial;

            //Usuario.PrimerNombre = DatosPersonalesCliente.PrimerNombre;
            //Usuario.SegundoNombre = DatosPersonalesCliente.SegundoNombre;
            //Usuario.PrimerApellido = DatosPersonalesCliente.PrimerApellido;
            //Usuario.SegundoApellido = DatosPersonalesCliente.SegundoApellido;
            //Usuario.ApellidoDeCasada = DatosPersonalesCliente.ApellidoCasada;
            //Usuario.Sexo = DatosPersonalesCliente.Sexo;
            //Usuario.EstadoCivil = DatosPersonalesCliente.EstadoCivil;
            Usuario.FechaDeNacimiento = ConvertirFecha("");
            ////Usuario.Edad = Convert.ToInt32(DatosPersonalesCliente.Edad);
            //Usuario.Edad = CalculaEdad(Usuario.FechaDeNacimiento);
            Usuario.Pais = ucDireccionClienteJuridica.Pais;
            if (Usuario.Pais == Constantes.PANAMA)
            {
                Usuario.Provincia = ucDireccionClienteJuridica.Provincia;
                Usuario.Distrito = ucDireccionClienteJuridica.Distrito;
                Usuario.Corregimiento = ucDireccionClienteJuridica.Corregimiento;
            }
            else if (Usuario.Pais == Constantes.VENEZUELA)
            {
                Usuario.Provincia = ucDireccionClienteJuridica.ProvinciaTxt;
                Usuario.Distrito = ucDireccionClienteJuridica.DistritoTxt;
                Usuario.Corregimiento = ucDireccionClienteJuridica.CorregimientoTxt;
            }
            else
            {
                Usuario.Direccion = ucDireccionClienteJuridica.Direccion;
                Usuario.Ciudad = ucDireccionClienteJuridica.Ciudad;
            }
            Usuario.TipoDeActividad = ddlTipoActividad.SelectedValue;
            Usuario.CorreoDeEmpleo = ucDireccionClienteJuridica.Email;
            Usuario.Barrio = ucDireccionClienteJuridica.Barrio;
            Usuario.Calle = ucDireccionClienteJuridica.Calle;
            Usuario.Residencia = ucDireccionClienteJuridica.Residencia;
            Usuario.NumeroCasa = ucDireccionClienteJuridica.NoCasa;
            Usuario.ApartadoPostal = ucDireccionClienteJuridica.ApartadoPostal;
            Usuario.UbicacionFacilResidencia = ucDireccionClienteJuridica.UbicacionFacilResidencia;
            //if (ucDireccionClienteJuridica.propertyEmail)
            //    Usuario.Email = ucDireccionClienteJuridica.Email;
            //else
            //    Usuario.Email = ucMiscelaneosPersonaJuridica.Email;
            Usuario.Email = ucMiscelaneosPersonaJuridica.Email;
            Usuario.CorreoDeEmpleo = ucDireccionClienteJuridica.Email;

            Usuario.ClienteOtroPais = ucMiscelaneosPersonaJuridica.ClienteEnOtroPais;
            Usuario.ClientePais = ucMiscelaneosPersonaJuridica.ClientePais;
            Usuario.TelefonoCasa = ucTelefonosPersonaJuridica.Telefono1;
            Usuario.TelefonoCelular = ucTelefonosPersonaJuridica.Telefono2;
            Usuario.OtroTelefono = ucTelefonosPersonaJuridica.Telefono3;
            //Usuario.NombreEmpresa = datosAdicionalesCliente.NombreEmpresa;
            //Usuario.CodigoIndustria = datosAdicionalesCliente.CodigoIndustria;
            //Usuario.TipoEmpresa = datosAdicionalesCliente.TipoEmpresa;
            //Usuario.TipoNegocio = datosAdicionalesCliente.TipoNegocio;
            //Usuario.DireccionEmpleo = datosAdicionalesCliente.DireccionEmpresa;
            //Usuario.TelefonoOficina = ConvertirNumero(datosAdicionalesCliente.TelefonoOficina);
            //Usuario.TelefonoFax = ConvertirNumero(datosAdicionalesCliente.Fax);
            //Usuario.IdentificacionContraloria = datosAdicionalesCliente.IdentificacionContraloría;
            //Usuario.NumeroDeEmpleado = datosAdicionalesCliente.NumeroEmpleado;
            Usuario.FechaIngresoEmpleo = ConvertirFecha("");
            //Usuario.TiempoDeEmpleo = datosAdicionalesCliente.TiempoEmpleo;
            //Usuario.CorreoDeEmpleo = datosAdicionalesCliente.Correo;
            //Usuario.RangoSalarial = datosAdicionalesCliente.RangoSalarial;
            //Usuario.SalarioActual = ConvertirNumero(datosAdicionalesCliente.SalarioActual);
            //Usuario.NivelEducacion = UcOtrosDatosCliente.NivelEducacion;
            //Usuario.Profesion = UcOtrosDatosCliente.Profesion;
            //Usuario.FuenteDeIngreso = UcOtrosDatosCliente.FuenteDeIngreso;
            //Usuario.Cargo = UcOtrosDatosCliente.Cargo;
            //Usuario.TipoDeActividad = UcOtrosDatosCliente.TipoActividad;

            Usuario.CuentaAhorros = ValorDeCheck(TipoCuenta(Constantes.AHORROS, ucDatosBasicosOperacion.TipoCuenta), "S", "N");
            Usuario.CuentaCorriente = ValorDeCheck(TipoCuenta(Constantes.CORRIENTE, ucDatosBasicosOperacion.TipoCuenta), "S", "N");

            Usuario.BancaEnLinea = ValorDeCheck(ucSolicitudDeServiciosJuridica.BancaEnLinea, "S", "N");
            Usuario.VisaDebito = ValorDeCheck(ucSolicitudDeServiciosJuridica.VisaDebito, "S", "N");
            Usuario.SucursalDePreferencia = ucSolicitudDeServiciosJuridica.SucursalPreferencia;

            Usuario.NombreLegal = txtNombreLegal.Text;
            Usuario.NombreComercial = txtNombreComercial.Text;
            Usuario.NoRegistroDeSociedad = txtNoRegistroDeSociedad.Text;
            Usuario.TipoSociedad = ObtenerDDL(ddlTipoDeSociedad);
            Usuario.PaisRegistroSociedad = ObtenerDDL(ddlPaisRegistro);
            Usuario.FechaRegistro = ConvertirFecha(txtFechaRegistro.Text);
            Usuario.FechaInicioOperaciones = ConvertirFecha(txtFechaInicioOperaciones.Text);
            Usuario.VolumenMensualVentas = ConvertirDecimal(txtVolumenMensualDeVentas.Text);
            //Usuario.TelefonoOficina2 = 
            //Usuario.EsTitular =
            //Usuario.EsFirmante =
            //Usuario.FechaCreacionCuenta =




            Usuario.TipoFirma = ucDatosBasicosOperacion.TipoFirma;
            //Usuario.OrigenFondoTrabajo = ValorDeCheck(ucDatosBasicosOperacion.OrigenFondosTrabajo, "S", "N");
            //Usuario.OrigenFondoHerencia = ValorDeCheck(ucDatosBasicosOperacion.OrigenFondosHerencia, "S", "N");
            //Usuario.OrigenFondoVenta = ValorDeCheck(ucDatosBasicosOperacion.OrigenFondosVenta, "S", "N");
            //Usuario.OrigenFondoInversiones = ValorDeCheck(ucDatosBasicosOperacion.OrigenFondosInversiones, "S", "N");
            //Usuario.OrigenFondoServiciosPrestados = ValorDeCheck(ucDatosBasicosOperacion.OrigenFondosServiciosPrestados, "S", "N");
            //Usuario.OrigenFondoReciboDeDividendos = ValorDeCheck(ucDatosBasicosOperacion.OrigenFondosReciboDeDividendos, "S", "N");
            //Usuario.OrigenFondoEspecificacion = ucDatosBasicosOperacion.EspecificacionOrigenFondos;
            Usuario.MontoApertura = ConvertirDecimal(ucDatosBasicosOperacion.MontoApertura);
            Usuario.UsoDeLaCuenta = ucDatosBasicosOperacion.UsoDeCuenta;

            Usuario.ModoAperturaEfectivo = ValorDeCheck(ModoApertura(Constantes.EFECTIVO, ucDatosBasicosOperacion.ModoApertura), "S", "N");
            Usuario.ModoAperturaTransferencia = ValorDeCheck(ModoApertura(Constantes.TRANSFERENCIA, ucDatosBasicosOperacion.ModoApertura), "S", "N");
            Usuario.ModoAperturaChequeLocal = ValorDeCheck(ModoApertura(Constantes.CHEQUELOCAL, ucDatosBasicosOperacion.ModoApertura), "S", "N");
            Usuario.ModoAperturaChequeExtranjero = ValorDeCheck(ModoApertura(Constantes.CODCHEQUEEXTRANJERO, ucDatosBasicosOperacion.ModoApertura), "S", "N");
            Usuario.ModoAperturaChequeGerenciaBanesco = ValorDeCheck(ModoApertura(Constantes.CODCHEQUEGERENCIABANESCO, ucDatosBasicosOperacion.ModoApertura), "S", "N");
            Usuario.ModoAperturaChequeGerenciaOtroBanco = ValorDeCheck(ModoApertura(Constantes.CODCHEQUEGERENCIAOTROBANCO, ucDatosBasicosOperacion.ModoApertura), "S", "N");
            Usuario.ModoAperturaChequePropio = ValorDeCheck(ModoApertura(Constantes.CHEQUEPROPIO, ucDatosBasicosOperacion.ModoApertura), "S", "N");
            Usuario.ModoAperturaDebitoACuenta = ValorDeCheck(ModoApertura(Constantes.DEBITOACUENTA, ucDatosBasicosOperacion.ModoApertura), "S", "N");
            Usuario.ModoAperturaOtros = ValorDeCheck(ModoApertura(Constantes.OTROS, ucDatosBasicosOperacion.ModoApertura), "S", "N");

            Usuario.ModoAperturaOtrosEspecificacion = ucDatosBasicosOperacion.EspecificacionModoApertura;
            Usuario.NumeroDepositosRetirosAlMes = ConvertirNumero(ucDatosBasicosOperacion.NumeroDepositosRetirosAlMes);
            Usuario.MontoDepositosRetirosAlMes = ConvertirDecimal(ucDatosBasicosOperacion.MontoDepositosRetirosAlMes);
            Usuario.SePermitenTransferencias = ucDatosBasicosOperacion.SePermitenTransferencias;
            Usuario.NumeroTransferenciasEmitidas = ConvertirNumero(ucDatosBasicosOperacion.NumeroTransferenciasEmitidas);
            Usuario.MontoTransferenciasEmitidas = ConvertirDecimal(ucDatosBasicosOperacion.MontoTransferenciasEmitidas);
            Usuario.NumeroTransferenciasRecibidas = ConvertirNumero(ucDatosBasicosOperacion.NumeroTransferenciasEmitidas);
            Usuario.MontoTransferenciasRecibidas = ConvertirDecimal(ucDatosBasicosOperacion.MontoTransferenciasEmitidas);
            Usuario.NumeroRetirosEnEfectivo = ConvertirNumero(ucDatosBasicosOperacion.NumeroRetirosEfectivo);
            Usuario.MontoRetirosEnEfectivo = ConvertirDecimal(ucDatosBasicosOperacion.MontoRetirosEfectivo);
            Usuario.NumeroDepositosEnEfectivo = ConvertirNumero(ucDatosBasicosOperacion.NumeroDepositosEfectivo);
            Usuario.MontoDepositosEnEfectivo = ConvertirDecimal(ucDatosBasicosOperacion.MontoDepositosEfectivo);
            Usuario.NumeroDepositosOtros = ConvertirNumero(ucDatosBasicosOperacion.NumeroDepositoOtros);
            Usuario.MontoDepositosOtros = ConvertirDecimal(ucDatosBasicosOperacion.MontoDepositoOtros);
            Usuario.PaisTransferencia1 = ucDatosBasicosOperacion.PaisTransferencia1;
            Usuario.PaisTransferencia1Env = ValorDeCheck(ucDatosBasicosOperacion.PaisTransferencia1Env, "S", "N");
            Usuario.PaisTransferencia1Rec = ValorDeCheck(ucDatosBasicosOperacion.PaisTransferencia1Rec, "S", "N");
            Usuario.PaisTransferencia2 = ucDatosBasicosOperacion.PaisTransferencia2;
            Usuario.PaisTransferencia2Env = ValorDeCheck(ucDatosBasicosOperacion.PaisTransferencia2Env, "S", "N");
            Usuario.PaisTransferencia2Rec = ValorDeCheck(ucDatosBasicosOperacion.PaisTransferencia2Rec, "S", "N");
            Usuario.PaisTransferencia3 = ucDatosBasicosOperacion.PaisTransferencia3;
            Usuario.PaisTransferencia3Env = ValorDeCheck(ucDatosBasicosOperacion.PaisTransferencia3Env, "S", "N");
            Usuario.PaisTransferencia3Rec = ValorDeCheck(ucDatosBasicosOperacion.PaisTransferencia3Rec, "S", "N");
            Usuario.PaisTransferencia4 = ucDatosBasicosOperacion.PaisTransferencia4;
            Usuario.PaisTransferencia4Env = ValorDeCheck(ucDatosBasicosOperacion.PaisTransferencia4Env, "S", "N");
            Usuario.PaisTransferencia4Rec = ValorDeCheck(ucDatosBasicosOperacion.PaisTransferencia4Rec, "S", "N");
            Usuario.EsPEP = ucDatosBasicosOperacion.EsPEPs;
            Usuario.EsIntermediario = ucDatosBasicosOperacion.EsIntermediario;
            Usuario.NombrePropietarioFondos = ucDatosBasicosOperacion.NombrePropietarioFondo;
            Usuario.TipoIdentificacionPropietarioFondos = ucDatosBasicosOperacion.TipoIdentificacionFondo;
            Usuario.IdentificacionPropietarioFondos = ucDatosBasicosOperacion.IdentificacionPropietarioFondos;
            Usuario.DireccionEntregaVisaDebito = ucSolicitudDeServiciosJuridica.DireccionEntregaVisaDebito;
            Usuario.DireccionEntregaBancaEnLinea = ucSolicitudDeServiciosJuridica.DireccionEntregaBancaEnLinea;
            Usuario.SeguroFraudeVisaDebito = ucSolicitudDeServiciosJuridica.SeguroFraudeVisaDebito;
            Usuario.Chequera = ValorDeCheck(ucDatosBasicosOperacion.Chequera, "S", "N");
            Usuario.CantidadChequera = ConvertirNumero(ucDatosBasicosOperacion.CantidadChequera);

            Usuario.OrigenDeLosFondos = ucDatosBasicosOperacion.OrigenDeLosFondos;

            Session[Constantes.SESIONUSUARIO] = Usuario;
        }

        protected void AgregarCliente()
        {
            //retMensaje = objBS.GuardarCliente(ucIdentificacionCliente.TipoIdentificacion, ucIdentificacionCliente.NumeroIdentificacion, ucIdentificacionCliente.NumeroSeguroSocial, DatosPersonalesCliente.PrimerNombre, DatosPersonalesCliente.SegundoNombre, DatosPersonalesCliente.PrimerApellido, DatosPersonalesCliente.SegundoApellido, DatosPersonalesCliente.ApellidoCasada, DatosPersonalesCliente.Sexo, DatosPersonalesCliente.EstadoCivil, Convert.ToDateTime(DatosPersonalesCliente.FechaNacimiento), Convert.ToInt32(DatosPersonalesCliente.Edad), ucDireccionCliente.Pais, ucDireccionCliente.Provincia, ucDireccionCliente.Distrito, ucDireccionCliente.Corregimiento, ucDireccionCliente.Barrio, ucDireccionCliente.Calle, ucDireccionCliente.Residencia, ucDireccionCliente.NoCasa, ucDireccionCliente.UbicacionFacilResidencia, ucDireccionCliente.ApartadoPostal, ucDireccionCliente.Email, ucMiscelaneosCliente.ClienteEnOtroPais, ucMiscelaneosCliente.ClientePais, ucTelefonosCliente.Telefono1, ucTelefonosCliente.Telefono2, ucTelefonosCliente.Telefono3, datosAdicionalesCliente.NombreEmpresa, datosAdicionalesCliente.CodigoIndustria, datosAdicionalesCliente.TipoEmpresa, datosAdicionalesCliente.TipoNegocio, datosAdicionalesCliente.Correo, datosAdicionalesCliente.DireccionEmpresa, datosAdicionalesCliente.TelefonoOficina, datosAdicionalesCliente.Fax, datosAdicionalesCliente.IdentificacionContraloría, datosAdicionalesCliente.NumeroEmpleado, datosAdicionalesCliente.FechadeIngreso, datosAdicionalesCliente.TiempoEmpleo, datosAdicionalesCliente.RangoSalarial, datosAdicionalesCliente.SalarioActual, UcOtrosDatosCliente.NivelEducacion, UcOtrosDatosCliente.Profesion, UcOtrosDatosCliente.FuenteDeIngreso, UcOtrosDatosCliente.Cargo, UcOtrosDatosCliente.TipoActividad);
            LlenarDatos();
            Usuario = (UsuarioBase)Session[Constantes.SESIONUSUARIO];
            retMensaje = objBS.GuardarClienteJuridica(Usuario);
        }

        protected void btnAgregarCliente_Click(object sender, EventArgs e)
        {
            AgregarCliente();
            TabsInformacionAsociada.Enabled = true;
            TabsGenerales.ActiveTabIndex = 1;
            ActivarValidatorsClientePrincipal(false);
            PrimerStageCompletado();
        }

        protected void btnNuevoFirmante_Click(object sender, EventArgs e)
        {
            TabsDatosFirmantes.Enabled = true;
            TabInfoAsociada.ActiveTabIndex = 2;
            TabsInformacionComplementaria.Enabled = false;
            ActivarValidatorsFirmantes(true);
        }

        protected void btnNuevoRJA_Click(object sender, EventArgs e)
        {

            TabsAccionistaRepresentanteDirectiva.Enabled = true;
            TabInfoAsociada.ActiveTabIndex = 2;
            TabsInformacionComplementaria.Enabled = false;
            //ActivarValidatorsInfoComplementaria(true);
        }

        protected void btnAgregarFirmantes_Click(object sender, EventArgs e)
        {
            InsertarFirmantes();
            IrAInformacionAsociada();
            LimpiarFirmantes();
            ActivarValidatorsFirmantes(false);
        }

        protected void InsertarFirmantes()
        {
            DataTable dtDetalles = new DataTable();
            Usuario = (UsuarioBase)Session[Constantes.SESIONUSUARIO];
            if ((Session["Firmantes"]) != null)
            {
                dtDetalles = (DataTable)(Session["Firmantes"]);
            }
            else
            {
                CrearDatatableFirmantes();
            }

            //int contador = new int();

            //contador = dtDetalles.Rows.Count;

            DataRow dr;
            dr = dtDetalles.NewRow();
            dr["ID"] = Guid.NewGuid().ToString();
            dr["NombreyApellido"] = ucDatosFirmantes.PrimerNombre + " " + ucDatosFirmantes.PrimerApellido + " " + ucDatosFirmantes.SegundoApellido;
            dr["Identificacion"] = ucIdentificacionFirmantes.NumeroIdentificacion;
            dr["TipoIdentificacion"] = ucIdentificacionFirmantes.TipoIdentificacion;
            dr["SeguroSocial"] = ucIdentificacionFirmantes.NumeroSeguroSocial;
            dr["PrimerNombre"] = ucDatosFirmantes.PrimerNombre;
            dr["SegundoNombre"] = ucDatosFirmantes.SegundoNombre;
            dr["PrimerApellido"] = ucDatosFirmantes.PrimerApellido;
            dr["SegundoApellido"] = ucDatosFirmantes.SegundoApellido;
            dr["ApellidoCasada"] = ucDatosFirmantes.ApellidoCasada;
            dr["Sexo"] = ucDatosFirmantes.Sexo;
            dr["EstadoCivil"] = ucDatosFirmantes.EstadoCivil;
            dr["FechaNacimiento"] = ConvertirFecha(ucDatosFirmantes.FechaNacimiento);

            dr["Pais"] = ucDireccionFirmantes.Pais;
            if (ucDireccionFirmantes.Pais == Constantes.PANAMA)
            {
                dr["Provincia"] = ucDireccionFirmantes.Provincia; ;
                dr["Distrito"] = ucDireccionFirmantes.Distrito;
                dr["Corregimiento"] = ucDireccionFirmantes.Corregimiento;
                dr["Direccion"] = string.Empty;
                dr["Ciudad"] = string.Empty;
            }
            else if (ucDireccionFirmantes.Pais == Constantes.VENEZUELA)
            {
                dr["Provincia"] = ucDireccionFirmantes.ProvinciaTxt;
                dr["Distrito"] = ucDireccionFirmantes.DistritoTxt;
                dr["Corregimiento"] = ucDireccionFirmantes.CorregimientoTxt;
                dr["Direccion"] = string.Empty;
                dr["Ciudad"] = string.Empty;
            }
            else
            {
                dr["Direccion"] = ucDireccionFirmantes.Direccion;
                dr["Ciudad"] = ucDireccionFirmantes.Ciudad;
                dr["Provincia"] = string.Empty;
                dr["Distrito"] = string.Empty;
                dr["Corregimiento"] = string.Empty;

            }
            dr["Barrio"] = ucDireccionFirmantes.Barrio;
            dr["Calle"] = ucDireccionFirmantes.Calle;
            dr["Residencia"] = ucDireccionFirmantes.Residencia;
            dr["NumeroCasa"] = ucDireccionFirmantes.NoCasa;
            dr["ApartadoPostal"] = ucDireccionFirmantes.ApartadoPostal;
            dr["UbicacionFacilResidencia"] = ucDireccionFirmantes.ApartadoPostal;
            dr["Email"] = ucDireccionFirmantes.Email;

            dr["Telefono1"] = ucTelefonosFirmantes.Telefono1;
            dr["Telefono2"] = ucTelefonosFirmantes.Telefono2;
            dr["Telefono3"] = ucTelefonosFirmantes.Telefono3;

            dr["NombreEmpresa"] = UcDatosAdicionalesFirmantes.NombreEmpresa;

            dr["CodigoIndustria"] = UcDatosAdicionalesFirmantes.CodigoIndustria;
            dr["TipoEmpresa"] = UcDatosAdicionalesFirmantes.TipoEmpresa;
            dr["TipoNegocio"] = UcDatosAdicionalesFirmantes.TipoNegocio;

            //dr["DireccionEmpleo"] = UcDatosAdicionalesFirmantes.DireccionEmpresa;

            dr["PaisEmpleo"] = ucDireccionEmpleoFirmantes.Pais;
            if (ucDireccionEmpleoFirmantes.Pais == Constantes.PANAMA)
            {
                dr["ProvinciaEmpleo"] = ucDireccionEmpleoFirmantes.Provincia; ;
                dr["DistritoEmpleo"] = ucDireccionEmpleoFirmantes.Distrito;
                dr["CorregimientoEmpleo"] = ucDireccionEmpleoFirmantes.Corregimiento;
                dr["DireccionEmpleo"] = string.Empty;
                dr["CiudadEmpleo"] = string.Empty;
            }
            else if (ucDireccionEmpleoFirmantes.Pais == Constantes.VENEZUELA)
            {
                dr["ProvinciaEmpleo"] = ucDireccionEmpleoFirmantes.ProvinciaTxt;
                dr["DistritoEmpleo"] = ucDireccionEmpleoFirmantes.DistritoTxt;
                dr["CorregimientoEmpleo"] = ucDireccionEmpleoFirmantes.CorregimientoTxt;
                dr["DireccionEmpleo"] = string.Empty;
                dr["CiudadEmpleo"] = string.Empty;
            }
            else
            {
                dr["DireccionEmpleo"] = ucDireccionEmpleoFirmantes.Direccion;
                dr["CiudadEmpleo"] = ucDireccionEmpleoFirmantes.Ciudad;
                dr["ProvinciaEmpleo"] = string.Empty;
                dr["DistritoEmpleo"] = string.Empty;
                dr["CorregimientoEmpleo"] = string.Empty;

            }
            dr["BarrioEmpleo"] = ucDireccionEmpleoFirmantes.Barrio;
            dr["CalleEmpleo"] = ucDireccionEmpleoFirmantes.Calle;
            dr["ResidenciaEmpleo"] = ucDireccionEmpleoFirmantes.Residencia;
            dr["NumeroCasaEmpleo"] = ucDireccionEmpleoFirmantes.NoCasa;
            dr["ApartadoPostalEmpleo"] = ucDireccionEmpleoFirmantes.ApartadoPostal;
            dr["UbicacionFacilEmpleo"] = ucDireccionEmpleoFirmantes.ApartadoPostal;
            dr["TelefonoOficina"] = UcDatosAdicionalesFirmantes.TelefonoOficina;
            dr["TelefonoFax"] = UcDatosAdicionalesFirmantes.Fax;
            dr["IdentificacionContraloria"] = UcDatosAdicionalesFirmantes.IdentificacionContraloría;
            dr["NumeroDeEmpleado"] = UcDatosAdicionalesFirmantes.NumeroEmpleado;
            dr["FechaIngresoEmpleo"] = ConvertirFecha(UcDatosAdicionalesFirmantes.FechadeIngreso);
            dr["TiempoDeEmpleo"] = UcDatosAdicionalesFirmantes.TiempoEmpleo;
            dr["CorreoEmpleo"] = UcDatosAdicionalesFirmantes.Correo;
            dr["RangoSalarial"] = UcDatosAdicionalesFirmantes.RangoSalarial;
            dr["SalarioActual"] = ConvertirDecimal(UcDatosAdicionalesFirmantes.SalarioActual);
            dr["NivelEducacion"] = UcDatosAdicionalesFirmantes.NivelEducacion;
            dr["Profesion"] = UcDatosAdicionalesFirmantes.Profesion;
            dr["FuenteDeIngreso"] = UcDatosAdicionalesFirmantes.FuenteDeIngreso;
            dr["Cargo"] = UcDatosAdicionalesFirmantes.Cargo;
           // dr["TipoDeActividad"] = UcDatosAdicionalesFirmantes.TipoActividad;

            #region Variables


            string NumeroIdentificacion = string.Empty;
            string TipoIdentificacion = string.Empty;
            string NumeroSeguroSocial = string.Empty;

            string PrimerNombre = string.Empty;
            string SegundoNombre = string.Empty;
            string PrimerApellido = string.Empty;
            string SegundoApellido = string.Empty;
            string ApellidoCasada = string.Empty;
            string Sexo = string.Empty;
            string EstadoCivil = string.Empty;
            string FechaNacimiento = string.Empty;

            string Pais = string.Empty;
            string Provincia = string.Empty;
            string Distrito = string.Empty;
            string Corregimiento = string.Empty;
            string Barrio = string.Empty;
            string Calle = string.Empty;
            string Residencia = string.Empty;
            string NoCasa = string.Empty;
            string ApartadoPostal = string.Empty;
            string UbicacionFacilResidencia = string.Empty;
            string Email = string.Empty;
            string Direccion = string.Empty;
            string Ciudad = string.Empty;

            string TelefonoOficina = string.Empty;
            string Fax = string.Empty;
            string NombreEmpresa = string.Empty;
            string CodigoIndustria = string.Empty;
            string TipoEmpresa = string.Empty;
            string TipoNegocio = string.Empty;
            //string DireccionEmpresa = string.Empty;



            string PaisEmpleo = string.Empty;
            string ProvinciaEmpleo = string.Empty;
            string DistritoEmpleo = string.Empty;
            string CorregimientoEmpleo = string.Empty;
            string BarrioEmpleo = string.Empty;
            string CalleEmpleo = string.Empty;
            string ResidenciaEmpleo = string.Empty;
            string NoCasaEmpleo = string.Empty;
            string ApartadoPostalEmpleo = string.Empty;
            string UbicacionFacilEmpleo = string.Empty;
            string CiudadEmpleo = string.Empty;
            string DireccionEmpleo = string.Empty;





            //string TelefonoOficina = gvTitularesFirmantes.DataKeys[e.NewEditIndex][30].ToString();
            string IdentificacionContraloría = string.Empty;
            string NumeroEmpleado = string.Empty;
            string FechadeIngreso = string.Empty;
            string TiempoEmpleo = string.Empty;
            string RangoSalarial = string.Empty;
            string SalarioActual = string.Empty;
            string Correo = string.Empty;


            string NivelEducacion = string.Empty;
            string Profesion = string.Empty;
            string FuenteDeIngreso = string.Empty;
            string Cargo = string.Empty;
            string TipoActividad = string.Empty;

            #endregion

            #region RecuperacionDatos
            #region DatosIdentificacion
            NumeroIdentificacion = ucIdentificacionFirmantes.NumeroIdentificacion;
            TipoIdentificacion = ucIdentificacionFirmantes.TipoIdentificacion;
            NumeroSeguroSocial = ucIdentificacionFirmantes.NumeroSeguroSocial;


            #endregion

            #region DatosPersonales
            PrimerNombre = ucDatosFirmantes.PrimerNombre;
            SegundoNombre = ucDatosFirmantes.SegundoNombre;
            PrimerApellido = ucDatosFirmantes.PrimerApellido;
            SegundoApellido = ucDatosFirmantes.SegundoApellido;
            ApellidoCasada = ucDatosFirmantes.ApellidoCasada;
            Sexo = ucDatosFirmantes.Sexo;
            EstadoCivil = ucDatosFirmantes.EstadoCivil;
            FechaNacimiento = ucDatosFirmantes.FechaNacimiento;

            #endregion

            #region DatosDeResidencia



            Pais = ucDireccionFirmantes.Pais;
            if (ucDireccionFirmantes.Pais == Constantes.PANAMA)
            {
                Provincia = ucDireccionFirmantes.Provincia; ;
                Distrito = ucDireccionFirmantes.Distrito;
                Corregimiento = ucDireccionFirmantes.Corregimiento;
                Direccion = string.Empty;
                Ciudad = string.Empty;
            }
            else if (ucDireccionFirmantes.Pais == Constantes.VENEZUELA)
            {
                Provincia = ucDireccionFirmantes.ProvinciaTxt;
                Distrito = ucDireccionFirmantes.DistritoTxt;
                Corregimiento = ucDireccionFirmantes.CorregimientoTxt;
                Direccion = string.Empty;
                Ciudad = string.Empty;
            }
            else
            {
                Direccion = ucDireccionFirmantes.Direccion;
                Ciudad = ucDireccionFirmantes.Ciudad;
                Provincia = string.Empty;
                Distrito = string.Empty;
                Corregimiento = string.Empty;

            }
            Barrio = ucDireccionFirmantes.Barrio;
            Calle = ucDireccionFirmantes.Calle;
            Residencia = ucDireccionFirmantes.Residencia;
            NoCasa = ucDireccionFirmantes.NoCasa;
            ApartadoPostal = ucDireccionFirmantes.ApartadoPostal;
            UbicacionFacilResidencia = ucDireccionFirmantes.ApartadoPostal;
            Email = ucDireccionFirmantes.Email;

            #endregion

            #region DatosAdicionales
            TelefonoOficina = UcDatosAdicionalesFirmantes.TelefonoOficina;
            Fax = UcDatosAdicionalesFirmantes.Fax;
            NombreEmpresa = UcDatosAdicionalesFirmantes.NombreEmpresa;
            CodigoIndustria = UcDatosAdicionalesFirmantes.CodigoIndustria;
            TipoEmpresa = UcDatosAdicionalesFirmantes.TipoEmpresa;
            TipoNegocio = UcDatosAdicionalesFirmantes.TipoNegocio;

            //DireccionEmpresa = UcDatosAdicionalesFirmantes.DireccionEmpresa;




            PaisEmpleo = ucDireccionEmpleoFirmantes.Pais;
            if (ucDireccionEmpleoFirmantes.Pais == Constantes.PANAMA)
            {
                ProvinciaEmpleo = ucDireccionEmpleoFirmantes.Provincia;
                DistritoEmpleo = ucDireccionEmpleoFirmantes.Distrito;
                CorregimientoEmpleo = ucDireccionEmpleoFirmantes.Corregimiento;
                DireccionEmpleo = string.Empty;
                CiudadEmpleo = string.Empty;
            }
            else if (ucDireccionEmpleoFirmantes.Pais == Constantes.VENEZUELA)
            {
                ProvinciaEmpleo = ucDireccionEmpleoFirmantes.ProvinciaTxt;
                DistritoEmpleo = ucDireccionEmpleoFirmantes.DistritoTxt;
                CorregimientoEmpleo = ucDireccionEmpleoFirmantes.CorregimientoTxt;
                DireccionEmpleo = string.Empty;
                CiudadEmpleo = string.Empty;
            }
            else
            {
                DireccionEmpleo = ucDireccionEmpleoFirmantes.Direccion;
                CiudadEmpleo = ucDireccionEmpleoFirmantes.Ciudad;
                ProvinciaEmpleo = string.Empty;
                DistritoEmpleo = string.Empty;
                CorregimientoEmpleo = string.Empty;

            }
            BarrioEmpleo = ucDireccionEmpleoFirmantes.Barrio;
            CalleEmpleo = ucDireccionEmpleoFirmantes.Calle;
            ResidenciaEmpleo = ucDireccionEmpleoFirmantes.Residencia;
            NoCasaEmpleo = ucDireccionEmpleoFirmantes.NoCasa;
            ApartadoPostalEmpleo = ucDireccionEmpleoFirmantes.ApartadoPostal;
            UbicacionFacilEmpleo = ucDireccionEmpleoFirmantes.ApartadoPostal;






            //UcDatosAdicionalesTitularesNatural.TelefonoOficina = gvTitularesFirmantes.DataKeys[e.NewEditIndex][30].ToString();
            IdentificacionContraloría = UcDatosAdicionalesFirmantes.IdentificacionContraloría;
            NumeroEmpleado = UcDatosAdicionalesFirmantes.NumeroEmpleado;
            FechadeIngreso = UcDatosAdicionalesFirmantes.FechadeIngreso;
            TiempoEmpleo = UcDatosAdicionalesFirmantes.TiempoEmpleo;
            RangoSalarial = UcDatosAdicionalesFirmantes.RangoSalarial;
            SalarioActual = UcDatosAdicionalesFirmantes.SalarioActual;
            Correo = UcDatosAdicionalesFirmantes.Correo;

            #endregion

            #region OtrosDatos
            NivelEducacion = UcDatosAdicionalesFirmantes.NivelEducacion;
            Profesion = UcDatosAdicionalesFirmantes.Profesion;
            FuenteDeIngreso = UcDatosAdicionalesFirmantes.FuenteDeIngreso;
            Cargo = UcDatosAdicionalesFirmantes.Cargo;
            TipoActividad = UcDatosAdicionalesFirmantes.TipoNegocio;

            #endregion
            #endregion
            try
            {
                BSBanesco objBSB = new BSBanesco();
                Mensaje retMensaje = new Mensaje();
                retMensaje = objBSB.GuardarFirmantes(Usuario, NumeroIdentificacion, TipoIdentificacion, NumeroSeguroSocial, PrimerNombre, SegundoNombre, PrimerApellido, SegundoApellido, ApellidoCasada,
                                     Sexo, EstadoCivil, ConvertirFecha(FechaNacimiento), Pais, Provincia, Distrito, Corregimiento, Barrio, Calle, Residencia, NoCasa, ApartadoPostal, UbicacionFacilResidencia, Email,
                                     TelefonoOficina, Fax, string.Empty, NombreEmpresa, CodigoIndustria, TipoEmpresa, TipoNegocio, DireccionEmpleo, TelefonoOficina, Fax, IdentificacionContraloría, NumeroEmpleado, ConvertirFecha(FechadeIngreso),
                                     TiempoEmpleo, RangoSalarial, ObtenerValorEnDecimales(SalarioActual), NivelEducacion, Profesion, FuenteDeIngreso, Cargo, TipoActividad, Correo, Direccion, Ciudad, PaisEmpleo, ProvinciaEmpleo, DistritoEmpleo, CorregimientoEmpleo, BarrioEmpleo, CalleEmpleo, ResidenciaEmpleo, NoCasaEmpleo, ApartadoPostalEmpleo, UbicacionFacilEmpleo, CiudadEmpleo);

                if (retMensaje.Status == Mensaje.EnumStatus.OK)
                {
                    this.CargarGridFirmantes(Usuario.IdCliente);

                }
            }
            catch
            {

            }

            dtDetalles.Rows.Add(dr);
            Session.Add("Firmantes", dtDetalles);
            gvFirmantes.DataSource = dtDetalles;
            gvFirmantes.DataBind();
        }

        protected void CargarGridFirmantes(int IDCliente)
        {
            try
            {
                DataTable dtDetalles = new DataTable();
                DataSet dsDatos = new DataSet();
                this.BuscarInformacionFirmantes(IDCliente, ref dsDatos);

                if (dsDatos.Tables.Count > 0)
                    if (dsDatos.Tables[0].Rows.Count > 0)
                    {
                        gvFirmantes.DataSource = dsDatos;
                        gvFirmantes.DataBind();
                        dtDetalles = dsDatos.Tables[0];
                        Session.Add("Firmantes", dtDetalles);
                    }
            }
            catch
            { }
        }

        protected void BuscarInformacionFirmantes(int IDCliente, ref DataSet dsDatos)
        {
            try
            {
                BSBanesco objBSB = new BSBanesco();
                objBSB.TitularesFirmantes_ObtenerFirmantesPorIDCliente(IDCliente, ref dsDatos);
            }
            catch
            { }
        }

        private decimal ObtenerValorEnDecimales(string valor)
        {

            decimal valorResultado = 0;
            try
            {
                if (!String.IsNullOrEmpty(valor))
                {
                    valorResultado = Convert.ToDecimal(valor);
                }
            }
            catch
            { }
            return valorResultado;
        }

        protected void btnCancelarFirmantes_Click(object sender, EventArgs e)
        {
            IrAInformacionAsociada();
            ActivarValidatorsFirmantes(false);
        }

        protected void btnCancelarRJA_Click(object sender, EventArgs e)
        {
            IrAInformacionAsociada();
            //ActivarValidatorsInfoComplementaria(false);
        }

        protected void btnEnviar_Click(object sender, EventArgs e)
        {
            DataTable dtDetalles = new DataTable();
            //int ret = 0;
            if ((Session["Firmantes"]) != null)
            {
                dtDetalles = (DataTable)(Session["Firmantes"]);
                if (dtDetalles.Rows.Count > 0)
                {
                    try
                    {

                        Usuario = (UsuarioBase)(Session[Constantes.SESIONUSUARIO]);

                        //GuardarInformacionAsociada();

                        //GuardarFirmantes();

                        CambiarEstadoSolicitud();

                        EnviarConfirmacion();

                        SegundoStageCompletado();

                        Response.Redirect(Constantes.PAGINAVISORREPORTES + "?IdCliente=" + Usuario.IdCliente + "&IdReporte=" + Constantes.IDREPORTEPERSONAJURIDICA);
                    }
                    catch
                    {

                    }
                }
                else
                {
                    ShowStatus("Para poder continuar debe agregar al menos un firmante");

                }
            }
            else
            {
                ShowStatus("Para poder continuar debe agregar al menos un firmante");

            }
        }

        protected void MostrarDatosCliente(UsuarioBase Usuario)
        {
            ucMiscelaneosPersonaJuridica.Email = Usuario.Email;
        }

        protected void MostrarDatosJuridica()
        {



            txtNombreLegal.Text = Usuario.NombreLegal;
            txtNombreComercial.Text = Usuario.NombreComercial;
            txtNoRegistroDeSociedad.Text = Usuario.NoRegistroDeSociedad;
            ddlTipoDeSociedad.SelectedValue = Usuario.TipoSociedad;
            ddlPaisRegistro.SelectedValue = Usuario.PaisRegistroSociedad;
            txtFechaRegistro.Text = Usuario.FechaRegistro.ToShortDateString();
            txtFechaInicioOperaciones.Text = Usuario.FechaInicioOperaciones.ToShortDateString();
            txtVolumenMensualDeVentas.Text = Usuario.VolumenMensualVentas.ToString();
            ddlTipoActividad.SelectedValue = Usuario.TipoDeActividad.ToString();


            //MISCELANEOS

            ucMiscelaneosPersonaJuridica.ClienteEnOtroPais = Usuario.ClienteOtroPais;
            ucMiscelaneosPersonaJuridica.ClientePais = Usuario.ClientePais;
            ucMiscelaneosPersonaJuridica.Email = Usuario.Email;


            //DIRECCION DEL CLIENTE
            ucDireccionClienteJuridica.Pais = Usuario.Pais;
            if (Usuario.Pais != Constantes.PANAMA)
            {
                ucDireccionClienteJuridica.HabilitarPais = true;
                ucDireccionClienteJuridica.ProvinciaTxt = Usuario.Provincia;
                ucDireccionClienteJuridica.DistritoTxt = Usuario.Distrito;
                ucDireccionClienteJuridica.CorregimientoTxt = Usuario.Corregimiento;
                if (Usuario.Pais != Constantes.VENEZUELA)
                {
                    ucDireccionClienteJuridica.HabilitarPais = true;
                }
            }
            else
            {
                ucDireccionClienteJuridica.HabilitarPais = true;
                ucDireccionClienteJuridica.Provincia = Usuario.Provincia;
                ucDireccionClienteJuridica.HabilitarProvincias = true;
                ucDireccionClienteJuridica.Distrito = Usuario.Distrito;
                ucDireccionClienteJuridica.HabilitarDistritos = true;
                ucDireccionClienteJuridica.Corregimiento = Usuario.Corregimiento;
            }
            ucDireccionClienteJuridica.Barrio = Usuario.Barrio;
            ucDireccionClienteJuridica.Calle = Usuario.Calle;
            ucDireccionClienteJuridica.Residencia = Usuario.Residencia;
            ucDireccionClienteJuridica.NoCasa = Usuario.NumeroCasa;
            ucDireccionClienteJuridica.UbicacionFacilResidencia = Usuario.UbicacionFacilResidencia;
            ucDireccionClienteJuridica.ApartadoPostal = Usuario.ApartadoPostal;
            ucDireccionClienteJuridica.Email = Usuario.CorreoDeEmpleo;


            //TELEFONOS
            ucTelefonosPersonaJuridica.Telefono1 = Usuario.TelefonoCasa.ToString();
            ucTelefonosPersonaJuridica.Telefono2 = Usuario.TelefonoCelular.ToString();
            ucTelefonosPersonaJuridica.Telefono3 = Usuario.OtroTelefono.ToString();

            //DATOS BASICOS OPERACION

            if (AsignarValorDeCheck(Usuario.CuentaAhorros, "S", "N"))
                ucDatosBasicosOperacion.TipoCuenta = "A";
            else if (AsignarValorDeCheck(Usuario.CuentaCorriente, "S", "N"))
                ucDatosBasicosOperacion.TipoCuenta = "C";
            else
                ucDatosBasicosOperacion.TipoCuenta = "%";

            ucDatosBasicosOperacion.TipoFirma = Usuario.TipoFirma;
            ucDatosBasicosOperacion.MontoApertura = Usuario.MontoApertura.ToString();
            ucDatosBasicosOperacion.UsoDeCuenta = Usuario.UsoDeLaCuenta;


            if (AsignarValorDeCheck(Usuario.ModoAperturaEfectivo, "S", "N"))
                ucDatosBasicosOperacion.ModoApertura = Constantes.CODEFECTIVO;
            else if (AsignarValorDeCheck(Usuario.ModoAperturaTransferencia, "S", "N"))
                ucDatosBasicosOperacion.ModoApertura = Constantes.CODTRANSFERENCIA;
            else if (AsignarValorDeCheck(Usuario.ModoAperturaChequeLocal, "S", "N"))
                ucDatosBasicosOperacion.ModoApertura = Constantes.CODCHEQUELOCAL;
            else if (AsignarValorDeCheck(Usuario.ModoAperturaChequeExtranjero, "S", "N"))
                ucDatosBasicosOperacion.ModoApertura = Constantes.CODCHEQUEEXTRANJERO;
            else if (AsignarValorDeCheck(Usuario.ModoAperturaChequeGerenciaBanesco, "S", "N"))
                ucDatosBasicosOperacion.ModoApertura = Constantes.CODCHEQUEGERENCIABANESCO;
            else if (AsignarValorDeCheck(Usuario.ModoAperturaChequeGerenciaOtroBanco, "S", "N"))
                ucDatosBasicosOperacion.ModoApertura = Constantes.CODCHEQUEGERENCIAOTROBANCO;
            else if (AsignarValorDeCheck(Usuario.ModoAperturaChequePropio, "S", "N"))
                ucDatosBasicosOperacion.ModoApertura = Constantes.CODCHEQUEPROPIO;
            else if (AsignarValorDeCheck(Usuario.ModoAperturaDebitoACuenta, "S", "N"))
                ucDatosBasicosOperacion.ModoApertura = Constantes.CODDEBITOACUENTA;
            else if (AsignarValorDeCheck(Usuario.ModoAperturaOtros, "S", "N"))
                ucDatosBasicosOperacion.ModoApertura = Constantes.CODOTROS;
            else
                ucDatosBasicosOperacion.ModoApertura = "%";




            ucDatosBasicosOperacion.EspecificacionModoApertura = Usuario.ModoAperturaOtrosEspecificacion;
            ucDatosBasicosOperacion.NumeroDepositosRetirosAlMes = Usuario.NumeroDepositosRetirosAlMes.ToString();
            ucDatosBasicosOperacion.MontoDepositosRetirosAlMes = Usuario.MontoDepositosRetirosAlMes.ToString();
            ucDatosBasicosOperacion.SePermitenTransferencias = Usuario.SePermitenTransferencias;


            ucDatosBasicosOperacion.NumeroRetirosEfectivo = Usuario.NumeroRetirosEnEfectivo.ToString();
            ucDatosBasicosOperacion.MontoRetirosEfectivo = Usuario.MontoRetirosEnEfectivo.ToString();
            ucDatosBasicosOperacion.NumeroDepositosEfectivo = Usuario.NumeroDepositosEnEfectivo.ToString();
            ucDatosBasicosOperacion.MontoDepositosEfectivo = Usuario.MontoDepositosEnEfectivo.ToString();
            ucDatosBasicosOperacion.NumeroDepositoOtros = Usuario.NumeroDepositosOtros.ToString();
            ucDatosBasicosOperacion.MontoDepositoOtros = Usuario.MontoDepositosOtros.ToString();

            if (Usuario.SePermitenTransferencias == "S")
            {
                ucDatosBasicosOperacion.HabilitarTransferencias = true;
                ucDatosBasicosOperacion.NumeroTransferenciasEmitidas = Usuario.NumeroTransferenciasEmitidas.ToString();
                ucDatosBasicosOperacion.MontoTransferenciasEmitidas = Usuario.MontoTransferenciasEmitidas.ToString();
                ucDatosBasicosOperacion.NumeroTransferenciasRecibidas = Usuario.NumeroTransferenciasRecibidas.ToString();
                ucDatosBasicosOperacion.MontoTransferenciasRecibidas = Usuario.MontoTransferenciasRecibidas.ToString();

                ucDatosBasicosOperacion.PaisTransferencia1 = Usuario.PaisTransferencia1;
                ucDatosBasicosOperacion.PaisTransferencia1Env = AsignarValorDeCheck(Usuario.PaisTransferencia1Env, "S", "N");
                ucDatosBasicosOperacion.PaisTransferencia1Rec = AsignarValorDeCheck(Usuario.PaisTransferencia1Rec, "S", "N");
                ucDatosBasicosOperacion.PaisTransferencia2 = Usuario.PaisTransferencia2;
                ucDatosBasicosOperacion.PaisTransferencia2Env = AsignarValorDeCheck(Usuario.PaisTransferencia2Env, "S", "N");
                ucDatosBasicosOperacion.PaisTransferencia2Rec = AsignarValorDeCheck(Usuario.PaisTransferencia2Rec, "S", "N");
                ucDatosBasicosOperacion.PaisTransferencia3 = Usuario.PaisTransferencia3;
                ucDatosBasicosOperacion.PaisTransferencia3Env = AsignarValorDeCheck(Usuario.PaisTransferencia3Env, "S", "N");
                ucDatosBasicosOperacion.PaisTransferencia3Rec = AsignarValorDeCheck(Usuario.PaisTransferencia3Rec, "S", "N");
                ucDatosBasicosOperacion.PaisTransferencia4 = Usuario.PaisTransferencia4;
                ucDatosBasicosOperacion.PaisTransferencia4Env = AsignarValorDeCheck(Usuario.PaisTransferencia4Env, "S", "N");
                ucDatosBasicosOperacion.PaisTransferencia4Rec = AsignarValorDeCheck(Usuario.PaisTransferencia4Rec, "S", "N");
            }
            else
            {
                ucDatosBasicosOperacion.HabilitarTransferencias = false;
            }
            ucDatosBasicosOperacion.EsPEPs = Usuario.EsPEP;
            ucDatosBasicosOperacion.EsIntermediario = Usuario.EsIntermediario;
            if (Usuario.EsIntermediario == "S")
            {
                ucDatosBasicosOperacion.HabilitarNombreIntermediarios = true;
                ucDatosBasicosOperacion.NombrePropietarioFondo = Usuario.NombrePropietarioFondos;
                ucDatosBasicosOperacion.TipoIdentificacionFondo = Usuario.TipoIdentificacionPropietarioFondos;
                ucDatosBasicosOperacion.IdentificacionPropietarioFondos = Usuario.IdentificacionPropietarioFondos;
            }
            else
            {
                ucDatosBasicosOperacion.HabilitarNombreIntermediarios = false;
            }
            ucDatosBasicosOperacion.OrigenDeLosFondos = Usuario.OrigenDeLosFondos;


            //SOLICITUDES


            ucSolicitudDeServiciosJuridica.BancaEnLinea = AsignarValorDeCheck(Usuario.BancaEnLinea, "S", "N");
            if (Usuario.BancaEnLinea == "S")
            {
                ucSolicitudDeServiciosJuridica.HabilitarDireccionBancaEnLinea = true;
                ucSolicitudDeServiciosJuridica.DireccionEntregaBancaEnLinea = Usuario.DireccionEntregaBancaEnLinea;
            }
            ucSolicitudDeServiciosJuridica.VisaDebito = AsignarValorDeCheck(Usuario.VisaDebito, "S", "N");
            if (Usuario.VisaDebito == "S")
            {
                ucSolicitudDeServiciosJuridica.HabilitarDireccionVisaDebito = true;
                ucSolicitudDeServiciosJuridica.DireccionEntregaVisaDebito = Usuario.DireccionEntregaVisaDebito;
                ucSolicitudDeServiciosJuridica.SeguroFraudeVisaDebito = Usuario.SeguroFraudeVisaDebito;
            }
            ucDatosBasicosOperacion.Chequera = AsignarValorDeCheck(Usuario.Chequera, "S", "N");
            if (Usuario.Chequera == "S")
            {
                ucDatosBasicosOperacion.HabilitarChequera = true;
                ucDatosBasicosOperacion.CantidadChequera = Usuario.CantidadChequera.ToString();
            }
            ucSolicitudDeServiciosJuridica.SucursalPreferencia = Usuario.SucursalDePreferencia;


        }

        protected void IrAInformacionAsociada()
        {
            TabsDatosFirmantes.Enabled = false;
            //TabsDatosAccionistas.Enabled = false;
            //TabsDatosJuntaDirectiva.Enabled = false;
            //TabsDatosRepresentanteLegal.Enabled = false;
            TabsAccionistaRepresentanteDirectiva.Enabled = false;
            TabsInformacionComplementaria.Enabled = true;
            TabInfoAsociada.ActiveTabIndex = 0;

        }

        protected void CrearDatatableFirmantes()
        {
            DataTable dtDetalles = new DataTable();
            // dtDetalles = new DataTable();
            dtDetalles.Columns.Add("ID", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("NombreyApellido", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Identificacion", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("TipoIdentificacion", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("SeguroSocial", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("PrimerNombre", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("SegundoNombre", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("PrimerApellido", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("SegundoApellido", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("ApellidoCasada", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("Sexo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("EstadoCivil", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("FechaNacimiento", System.Type.GetType("System.DateTime"));

            dtDetalles.Columns.Add("Pais", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Provincia", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Distrito", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("Corregimiento", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Barrio", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Calle", System.Type.GetType("System.String"));


            dtDetalles.Columns.Add("Direccion", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Ciudad", System.Type.GetType("System.String"));


            dtDetalles.Columns.Add("Residencia", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("NumeroCasa", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("ApartadoPostal", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("UbicacionFacilResidencia", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Email", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("Telefono1", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Telefono2", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Telefono3", System.Type.GetType("System.String"));


            dtDetalles.Columns.Add("NombreEmpresa", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("CodigoIndustria", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("TipoEmpresa", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("TipoNegocio", System.Type.GetType("System.String"));

            //dtDetalles.Columns.Add("DireccionEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("TelefonoOficina", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("TelefonoFax", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("IdentificacionContraloria", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("NumeroDeEmpleado", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("FechaIngresoEmpleo", System.Type.GetType("System.DateTime"));
            dtDetalles.Columns.Add("TiempoDeEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("CorreoEmpleo", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("RangoSalarial", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("SalarioActual", System.Type.GetType("System.Decimal"));
            dtDetalles.Columns.Add("NivelEducacion", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("Profesion", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("FuenteDeIngreso", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Cargo", System.Type.GetType("System.String"));

            dtDetalles.Columns.Add("TipoDeActividad", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("EsFirmate", System.Type.GetType("System.String"));



            dtDetalles.Columns.Add("PaisEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("ProvinciaEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("DistritoEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("CorregimientoEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("BarrioEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("CalleEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("DireccionEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("CiudadEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("ResidenciaEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("NumeroCasaEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("ApartadoPostalEmpleo", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("UbicacionFacilEmpleo", System.Type.GetType("System.String"));



            Session.Add("Firmantes", dtDetalles);
            gvFirmantes.DataSource = dtDetalles;
            gvFirmantes.DataBind();
        }

        protected void CargarTipoIdentificacion(string tipo)
        {

            //string filtro = GetCurrentPageName();
            //string tipo = "";

            DataSet dsDatos = new DataSet();
            //if (filtro == "frmAperturaNatural.aspx")
            //    tipo = "N";
            //else
            //    tipo = "J";

            objBS.ObtenerTipoIdentificacion(ref dsDatos, tipo);
            //ddlTipoDeSociedad.DataSource = dsDatos;
            //ddlTipoDeSociedad.DataTextField = "TipoIdentificacion";
            //ddlTipoDeSociedad.DataValueField = "IDTipoIdentificacion";
            //ddlTipoDeSociedad.DataBind();

            //ddlTipoDeSociedad.Items.Insert(0, new ListItem("Seleccione Tipo de Identificación", "%"));

            CargarDropDown(ddlTipoDeSociedad, dsDatos.Tables[0], "TipoIdentificacion", "IDTipoIdentificacion", false, "- Seleccione Tipo de Identificacion -");

        }

        protected void CargarTipoActividadEconomica()
        {
            DataSet dsDatos = new DataSet();
            objBS.ObtenerTipoActividadEconomica(ref dsDatos);
            CargarDropDown(ddlTipoActividad, dsDatos.Tables[0], "ae_descripcion", "ae_codigo", false, Constantes.LISTASSELECCIONEITEM);
        }

        protected void CargarPaises()
        {
            DataSet dsDatos = new DataSet();

            objBS.ObtenerPaises(ref dsDatos);
            ddlPaisRegistro.DataSource = dsDatos;
            ddlPaisRegistro.DataTextField = "pa_descripcion";
            ddlPaisRegistro.DataValueField = "pa_codigo";
            ddlPaisRegistro.DataBind();

            ddlPaisRegistro.Items.Insert(0, new ListItem("- Seleccione País -", "%"));
        }

        protected void EnviarConfirmacion()
        {

            Usuario = (UsuarioBase)(Session[Constantes.SESIONUSUARIO]);

            string emailParticipante = Usuario.Email;
            //string nombreEmpresa = txtNombreComercial.Text;
            string asuntoEmail = "Registro de Apertura Completado Exitosamente - Banesco";
            string plantilla = string.Empty;

            bool correo_enviado = true;

            LogicMail correo = new LogicMail();
            plantilla = Resources.BanescoTemplates.EMailConfirmacion.ToString();
            plantilla = plantilla.Replace("[Usuario]", Usuario.Cliente);
            plantilla = plantilla.Replace("[Nombre]", Usuario.NombreComercial);
            plantilla = plantilla.Replace("[Identificacion]", Usuario.NoRegistroDeSociedad);

            string url = ConfigurationManager.AppSettings["EmailDomain"];
            string fechaInscripcion = DateTime.Now.ToString();

            try
            {
                correo_enviado = correo.EnviarMensaje(emailParticipante, asuntoEmail, plantilla, true);

                string mensaje = "";
                mensaje = " Estimado" + Usuario.NombreComercial + ", ";
                mensaje += "Se ha recibido su solicitud preliminar como interesado en apertura de cuenta con Banesco. Adjuntamos al correo una dirección web que le permitirá acceder al formulario preliminar de apertura de cuentas para que sea completado por usted y posteriormente se acerque a la sucursal más cercana de Banesco. ";
                // mensaje += url + "Pages/FrmPreliminar.aspx?ID=" + ret.ToString();

                objBS.RegistrarMensaje(Usuario.NoRegistroDeSociedad, mensaje);
            }
            catch (Exception)
            {
            }
        }

        protected void btnGuardarRJA_Click(object sender, EventArgs e)
        {
            InsertarRJA();
            IrAInformacionAsociada();
            btnNuevoRJA.Text = "Editar";
            //ActivarValidatorsInfoComplementaria(false);
        }

        protected void GuardarInformacionAsociada()
        {
            string EsAccionista, EsJuntaDirectiva, EsRepresentanteLegal, Pais, Provincia, Distrito, Corregimiento, Direccion, Ciudad, Email, Barrio, Calle, Residencia, NumeroCasa, ApartadoPostal, UbicacionFacilResidencia;
            Provincia = string.Empty;
            Distrito = string.Empty;
            Corregimiento = string.Empty;
            Direccion = string.Empty;
            Ciudad = string.Empty;

            #region "DireccionRepresentante"
            Pais = ucDireccionRepresentante.Pais;
            if (Pais == Constantes.PANAMA)
            {
                Provincia = ucDireccionRepresentante.Provincia;
                Distrito = ucDireccionRepresentante.Distrito;
                Corregimiento = ucDireccionRepresentante.Corregimiento;
            }
            else if (Usuario.Pais == Constantes.VENEZUELA)
            {
                Provincia = ucDireccionRepresentante.ProvinciaTxt;
                Distrito = ucDireccionRepresentante.DistritoTxt;
                Corregimiento = ucDireccionRepresentante.CorregimientoTxt;
            }
            else
            {
                Direccion = ucDireccionRepresentante.Direccion;
                Ciudad = ucDireccionRepresentante.Ciudad;
            }
            Barrio = ucDireccionRepresentante.Barrio;
            Calle = ucDireccionRepresentante.Calle;
            Residencia = ucDireccionRepresentante.Residencia;
            NumeroCasa = ucDireccionRepresentante.NoCasa;
            ApartadoPostal = ucDireccionRepresentante.ApartadoPostal;
            UbicacionFacilResidencia = ucDireccionRepresentante.UbicacionFacilResidencia;
            Email = ucDireccionRepresentante.Email;
            #endregion

            if ((ucRepresentante.Nombre != string.Empty) && (ucRepresentante.Identificacion != String.Empty))
            {
                EsAccionista = "N";
                EsJuntaDirectiva = "N";
                EsRepresentanteLegal = "S";
                GuardarAccionistaRepresentateDirectiva(ucRepresentante.Nombre, ucRepresentante.Identificacion, ucRepresentante.Sexo, ucRepresentante.Cargo, Pais, Provincia, Distrito, Corregimiento, ucRepresentante.Nacionalidad, String.Empty, ucRepresentante.Telefono1, ucRepresentante.Telefono2, ucRepresentante.Telefono3, EsJuntaDirectiva, EsAccionista, EsRepresentanteLegal, "RD1", Barrio, Calle, Residencia, NumeroCasa, ApartadoPostal, UbicacionFacilResidencia, Email, Direccion, Ciudad, ConvertirFecha(ucRepresentante.FechaNacimiento));
            }

            #region "DireccionAccionista1"
            Pais = ucDireccionAccionista1.Pais;
            if (Pais == Constantes.PANAMA)
            {
                Provincia = ucDireccionAccionista1.Provincia;
                Distrito = ucDireccionAccionista1.Distrito;
                Corregimiento = ucDireccionAccionista1.Corregimiento;
            }
            else if (Usuario.Pais == Constantes.VENEZUELA)
            {
                Provincia = ucDireccionAccionista1.ProvinciaTxt;
                Distrito = ucDireccionAccionista1.DistritoTxt;
                Corregimiento = ucDireccionAccionista1.CorregimientoTxt;
            }
            else
            {
                Direccion = ucDireccionAccionista1.Direccion;
                Ciudad = ucDireccionAccionista1.Ciudad;
            }
            Barrio = ucDireccionAccionista1.Barrio;
            Calle = ucDireccionAccionista1.Calle;
            Residencia = ucDireccionAccionista1.Residencia;
            NumeroCasa = ucDireccionAccionista1.NoCasa;
            ApartadoPostal = ucDireccionAccionista1.ApartadoPostal;
            UbicacionFacilResidencia = ucDireccionAccionista1.UbicacionFacilResidencia;
            Email = ucDireccionAccionista1.Email;
            #endregion

            if ((UcAccionista1.Nombre != string.Empty) && (UcAccionista1.Identificacion != String.Empty))
            {
                EsAccionista = "S";
                EsJuntaDirectiva = "N";
                EsRepresentanteLegal = "N";
                GuardarAccionistaRepresentateDirectiva(UcAccionista1.Nombre, UcAccionista1.Identificacion, UcAccionista1.Sexo, UcAccionista1.Cargo, Pais, Provincia, Distrito, Corregimiento, UcAccionista1.Nacionalidad, string.Empty, UcAccionista1.Telefono1, UcAccionista1.Telefono2, UcAccionista1.Telefono3, EsJuntaDirectiva, EsAccionista, EsRepresentanteLegal, "AC1", Barrio, Calle, Residencia, NumeroCasa, ApartadoPostal, UbicacionFacilResidencia, Email, Direccion, Ciudad, ConvertirFecha(UcAccionista1.FechaNacimiento));
            }

            #region "DireccionAccionista2"
            Pais = ucDireccionAccionista2.Pais;
            if (Pais == Constantes.PANAMA)
            {
                Provincia = ucDireccionAccionista2.Provincia;
                Distrito = ucDireccionAccionista2.Distrito;
                Corregimiento = ucDireccionAccionista2.Corregimiento;
            }
            else if (Usuario.Pais == Constantes.VENEZUELA)
            {
                Provincia = ucDireccionAccionista2.ProvinciaTxt;
                Distrito = ucDireccionAccionista2.DistritoTxt;
                Corregimiento = ucDireccionAccionista2.CorregimientoTxt;
            }
            else
            {
                Direccion = ucDireccionAccionista2.Direccion;
                Ciudad = ucDireccionAccionista2.Ciudad;
            }
            Barrio = ucDireccionAccionista2.Barrio;
            Calle = ucDireccionAccionista2.Calle;
            Residencia = ucDireccionAccionista2.Residencia;
            NumeroCasa = ucDireccionAccionista2.NoCasa;
            ApartadoPostal = ucDireccionAccionista2.ApartadoPostal;
            UbicacionFacilResidencia = ucDireccionAccionista2.UbicacionFacilResidencia;
            Email = ucDireccionAccionista2.Email;
            #endregion

            if ((UcAccionista2.Nombre != string.Empty) && (UcAccionista2.Identificacion != String.Empty))
            {
                EsAccionista = "S";
                EsJuntaDirectiva = "N";
                EsRepresentanteLegal = "N";
                GuardarAccionistaRepresentateDirectiva(UcAccionista2.Nombre, UcAccionista2.Identificacion, UcAccionista2.Sexo, UcAccionista2.Cargo, Pais, Provincia, Distrito, Corregimiento, UcAccionista2.Nacionalidad, string.Empty, UcAccionista2.Telefono1, UcAccionista2.Telefono2, UcAccionista2.Telefono3, EsJuntaDirectiva, EsAccionista, EsRepresentanteLegal, "AC2", Barrio, Calle, Residencia, NumeroCasa, ApartadoPostal, UbicacionFacilResidencia, Email, Direccion, Ciudad, ConvertirFecha(UcAccionista2.FechaNacimiento));
            }

            #region "DireccionDirectiva1"
            Pais = ucDireccionDirectiva1.Pais;
            if (Pais == Constantes.PANAMA)
            {
                Provincia = ucDireccionDirectiva1.Provincia;
                Distrito = ucDireccionDirectiva1.Distrito;
                Corregimiento = ucDireccionDirectiva1.Corregimiento;
            }
            else if (Usuario.Pais == Constantes.VENEZUELA)
            {
                Provincia = ucDireccionDirectiva1.ProvinciaTxt;
                Distrito = ucDireccionDirectiva1.DistritoTxt;
                Corregimiento = ucDireccionDirectiva1.CorregimientoTxt;
            }
            else
            {
                Direccion = ucDireccionDirectiva1.Direccion;
                Ciudad = ucDireccionDirectiva1.Ciudad;
            }
            Barrio = ucDireccionDirectiva1.Barrio;
            Calle = ucDireccionDirectiva1.Calle;
            Residencia = ucDireccionDirectiva1.Residencia;
            NumeroCasa = ucDireccionDirectiva1.NoCasa;
            ApartadoPostal = ucDireccionDirectiva1.ApartadoPostal;
            UbicacionFacilResidencia = ucDireccionDirectiva1.UbicacionFacilResidencia;
            Email = ucDireccionDirectiva1.Email;
            #endregion


            if ((UcDirectiva1.Nombre != string.Empty) && (UcDirectiva1.Identificacion != String.Empty))
            {
                EsAccionista = "N";
                EsJuntaDirectiva = "S";
                EsRepresentanteLegal = "N";
                GuardarAccionistaRepresentateDirectiva(UcDirectiva1.Nombre, UcDirectiva1.Identificacion, UcDirectiva1.Sexo, UcDirectiva1.Cargo, Pais, Provincia, Distrito, Corregimiento, UcDirectiva1.Nacionalidad, string.Empty, UcDirectiva1.Telefono1, UcDirectiva1.Telefono2, UcDirectiva1.Telefono3, EsJuntaDirectiva, EsAccionista, EsRepresentanteLegal, "AD1", Barrio, Calle, Residencia, NumeroCasa, ApartadoPostal, UbicacionFacilResidencia, Email, Direccion, Ciudad, ConvertirFecha(UcDirectiva1.FechaNacimiento));
            }

            #region "DireccionDirectiva2"
            Pais = ucDireccionDirectiva2.Pais;
            if (Pais == Constantes.PANAMA)
            {
                Provincia = ucDireccionDirectiva2.Provincia;
                Distrito = ucDireccionDirectiva2.Distrito;
                Corregimiento = ucDireccionDirectiva2.Corregimiento;
            }
            else if (Usuario.Pais == Constantes.VENEZUELA)
            {
                Provincia = ucDireccionDirectiva2.ProvinciaTxt;
                Distrito = ucDireccionDirectiva2.DistritoTxt;
                Corregimiento = ucDireccionDirectiva2.CorregimientoTxt;
            }
            else
            {
                Direccion = ucDireccionDirectiva2.Direccion;
                Ciudad = ucDireccionDirectiva2.Ciudad;
            }
            Barrio = ucDireccionDirectiva2.Barrio;
            Calle = ucDireccionDirectiva2.Calle;
            Residencia = ucDireccionDirectiva2.Residencia;
            NumeroCasa = ucDireccionDirectiva2.NoCasa;
            ApartadoPostal = ucDireccionDirectiva2.ApartadoPostal;
            UbicacionFacilResidencia = ucDireccionDirectiva2.UbicacionFacilResidencia;
            Email = ucDireccionDirectiva2.Email;
            #endregion

            if ((UcDirectiva2.Nombre != string.Empty) && (UcDirectiva2.Identificacion != String.Empty))
            {
                EsAccionista = "N";
                EsJuntaDirectiva = "S";
                EsRepresentanteLegal = "N";
                GuardarAccionistaRepresentateDirectiva(UcDirectiva2.Nombre, UcDirectiva2.Identificacion, UcDirectiva2.Sexo, UcDirectiva2.Cargo, Pais, Provincia, Distrito, Corregimiento, UcDirectiva2.Nacionalidad, string.Empty, UcDirectiva2.Telefono1, UcDirectiva2.Telefono2, UcDirectiva2.Telefono3, EsJuntaDirectiva, EsAccionista, EsRepresentanteLegal, "AD2", Barrio, Calle, Residencia, NumeroCasa, ApartadoPostal, UbicacionFacilResidencia, Email, Direccion, Ciudad, ConvertirFecha(UcDirectiva2.FechaNacimiento));
            }


            #region "DireccionDirectiva3"
            Pais = ucDireccionDirectiva3.Pais;
            if (Pais == Constantes.PANAMA)
            {
                Provincia = ucDireccionDirectiva3.Provincia;
                Distrito = ucDireccionDirectiva3.Distrito;
                Corregimiento = ucDireccionDirectiva3.Corregimiento;
            }
            else if (Usuario.Pais == Constantes.VENEZUELA)
            {
                Provincia = ucDireccionDirectiva3.ProvinciaTxt;
                Distrito = ucDireccionDirectiva3.DistritoTxt;
                Corregimiento = ucDireccionDirectiva3.CorregimientoTxt;
            }
            else
            {
                Direccion = ucDireccionDirectiva3.Direccion;
                Ciudad = ucDireccionDirectiva3.Ciudad;
            }
            Barrio = ucDireccionDirectiva3.Barrio;
            Calle = ucDireccionDirectiva3.Calle;
            Residencia = ucDireccionDirectiva3.Residencia;
            NumeroCasa = ucDireccionDirectiva3.NoCasa;
            ApartadoPostal = ucDireccionDirectiva3.ApartadoPostal;
            UbicacionFacilResidencia = ucDireccionDirectiva3.UbicacionFacilResidencia;
            Email = ucDireccionDirectiva3.Email;
            #endregion

            if ((UcDirectiva3.Nombre != string.Empty) && (UcDirectiva3.Identificacion != String.Empty))
            {
                EsAccionista = "N";
                EsJuntaDirectiva = "S";
                EsRepresentanteLegal = "N";
                GuardarAccionistaRepresentateDirectiva(UcDirectiva3.Nombre, UcDirectiva3.Identificacion, UcDirectiva3.Sexo, UcDirectiva3.Cargo, Pais, Provincia, Distrito, Corregimiento, UcDirectiva3.Nacionalidad, string.Empty, UcDirectiva3.Telefono1, UcDirectiva3.Telefono2, UcDirectiva3.Telefono3, EsJuntaDirectiva, EsAccionista, EsRepresentanteLegal, "AD3", Barrio, Calle, Residencia, NumeroCasa, ApartadoPostal, UbicacionFacilResidencia, Email, Direccion, Ciudad, ConvertirFecha(UcDirectiva3.FechaNacimiento));
            }

        }

        protected void GuardarAccionistaRepresentateDirectiva(string Nombre, String Identificacion, String Sexo, String Cargo, String Pais, String Provincia, String Distrito, String Corregimiento, String Nacionalidad, String DireccionPrincipal, String Telefono1, String Telefono2, String Telefono3, String EsJuntaDirectiva, String EsAccionista, String EsRepresentanteLegal, string Tipo_ARD, String Barrio, String Calle, String Residencia, String NumeroCasa, String ApartadoPostal, String UbicacionFacilResidencia, String Email, String Direccion, String Ciudad, DateTime FechaDeNacimiento)
        {
            Usuario = (UsuarioBase)Session[Constantes.SESIONUSUARIO];
            retMensaje = objBS.AccionistaRepresentanteDirectiva(Usuario, Nombre, Identificacion, Sexo, Cargo, Pais, Provincia, Distrito, Corregimiento, Nacionalidad, DireccionPrincipal, Telefono1, Telefono2, Telefono3, EsJuntaDirectiva, EsAccionista, EsRepresentanteLegal, Tipo_ARD, Barrio, Calle, Residencia, NumeroCasa, ApartadoPostal, UbicacionFacilResidencia, Email, Direccion, Ciudad, FechaDeNacimiento);

        }

        protected void CambiarEstadoSolicitud()
        {
            Usuario = (UsuarioBase)Session[Constantes.SESIONUSUARIO];
            retMensaje = objBS.CambiarEstadoSolicitud(Usuario);

        }

        protected void gvFirmantes_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (gvFirmantes.Rows.Count <= 0)
                return;


            if (e.CommandName == "Editar")
            {
                EditarFirmantes(e.CommandArgument.ToString());
                EliminarFirmantes(e.CommandArgument.ToString());
                btnNuevoFirmante_Click(sender, e);
            }
            if (e.CommandName == "Eliminar")
            {
                EliminarFirmantes(e.CommandArgument.ToString());
            }
        }

        protected void EliminarFirmantes(string ID)
        {
            DataTable dtdetalles = (DataTable)(Session["Firmantes"]);
            DataRow[] drEliminar;
            drEliminar = dtdetalles.Select(string.Format("ID='{0}'", ID));

            if (drEliminar.Length > 0)
            {
                drEliminar[0].Delete();

            }

            Session.Add("Firmantes", dtdetalles);

            gvFirmantes.DataSource = dtdetalles;
            gvFirmantes.DataBind();
        }

        protected void EditarFirmantes(string ID)
        {
            DataTable dtDetalles = new DataTable();
            dtDetalles = (DataTable)(Session["Firmantes"]);
            DataTable dt = SelectIntoDataTable(String.Format("ID='{0}'", ID), dtDetalles);
            DataRow dr;
            dr = dt.Rows[0];
            // Mostrar los datos para Editar

            ucIdentificacionFirmantes.NumeroIdentificacion = dr["Identificacion"].ToString();
            ucIdentificacionFirmantes.TipoIdentificacion = dr["TipoIdentificacion"].ToString();
            ucIdentificacionFirmantes.NumeroSeguroSocial = dr["SeguroSocial"].ToString();
            ucDatosFirmantes.PrimerNombre = dr["PrimerNombre"].ToString();
            ucDatosFirmantes.SegundoNombre = dr["SegundoNombre"].ToString();
            ucDatosFirmantes.PrimerApellido = dr["PrimerApellido"].ToString();
            ucDatosFirmantes.SegundoApellido = dr["SegundoApellido"].ToString();
            ucDatosFirmantes.ApellidoCasada = dr["ApellidoCasada"].ToString();
            ucDatosFirmantes.Sexo = dr["Sexo"].ToString();
            ucDatosFirmantes.EstadoCivil = dr["EstadoCivil"].ToString();
            ucDatosFirmantes.FechaNacimiento = dr["FechaNacimiento"].ToString();
            ucDireccionFirmantes.Pais = dr["Pais"].ToString();
            if (ucDireccionFirmantes.Pais == Constantes.PANAMA)
            {
                ucDireccionFirmantes.HabilitarPais = true;
                ucDireccionFirmantes.Provincia = dr["Provincia"].ToString();
                ucDireccionFirmantes.HabilitarProvincias = true;
                ucDireccionFirmantes.Distrito = dr["Distrito"].ToString();
                ucDireccionFirmantes.HabilitarDistritos = true;
                ucDireccionFirmantes.Corregimiento = dr["Corregimiento"].ToString();
            }
            else if (ucDireccionFirmantes.Pais == Constantes.VENEZUELA)
            {
                ucDireccionFirmantes.HabilitarPais = true;
                ucDireccionFirmantes.ProvinciaTxt = dr["Provincia"].ToString();
                ucDireccionFirmantes.DistritoTxt = dr["Distrito"].ToString();
                ucDireccionFirmantes.CorregimientoTxt = dr["Corregimiento"].ToString();
            }
            else
            {
                ucDireccionFirmantes.HabilitarPais = true;
                ucDireccionFirmantes.Direccion = dr["Direccion"].ToString();
                ucDireccionFirmantes.Ciudad = dr["Ciudad"].ToString();
            }
            ucDireccionFirmantes.Barrio = dr["Barrio"].ToString();
            ucDireccionFirmantes.Calle = dr["Calle"].ToString();
            ucDireccionFirmantes.Residencia = dr["Residencia"].ToString();
            ucDireccionFirmantes.NoCasa = dr["NumeroCasa"].ToString();
            ucDireccionFirmantes.ApartadoPostal = dr["ApartadoPostal"].ToString();
            ucDireccionFirmantes.ApartadoPostal = dr["UbicacionFacilResidencia"].ToString();
            ucDireccionFirmantes.Email = dr["Email"].ToString();


            ucTelefonosFirmantes.Telefono1 = dr["Telefono1"].ToString();
            ucTelefonosFirmantes.Telefono2 = dr["Telefono2"].ToString();
            ucTelefonosFirmantes.Telefono3 = dr["Telefono3"].ToString();

            UcDatosAdicionalesFirmantes.NombreEmpresa = dr["NombreEmpresa"].ToString();
            UcDatosAdicionalesFirmantes.CodigoIndustria = dr["CodigoIndustria"].ToString();
            UcDatosAdicionalesFirmantes.TipoEmpresa = dr["TipoEmpresa"].ToString();
            UcDatosAdicionalesFirmantes.TipoNegocio = dr["TipoNegocio"].ToString();
            //UcDatosAdicionalesFirmantes.DireccionEmpresa = dr["DireccionEmpleo"].ToString();

            //DIRECCION EMPLEO Firmantes


            ucDireccionEmpleoFirmantes.Pais = dr["PaisEmpleo"].ToString();



            if (ucDireccionEmpleoFirmantes.Pais == Constantes.PANAMA)
            {
                ucDireccionEmpleoFirmantes.HabilitarPais = true;
                ucDireccionEmpleoFirmantes.Provincia = dr["ProvinciaEmpleo"].ToString();
                ucDireccionEmpleoFirmantes.HabilitarProvincias = true;
                ucDireccionEmpleoFirmantes.Distrito = dr["DistritoEmpleo"].ToString();
                ucDireccionEmpleoFirmantes.HabilitarDistritos = true;
                ucDireccionEmpleoFirmantes.Corregimiento = dr["CorregimientoEmpleo"].ToString();
            }
            else if (ucDireccionEmpleoFirmantes.Pais == Constantes.VENEZUELA)
            {
                ucDireccionEmpleoFirmantes.HabilitarPais = true;
                ucDireccionEmpleoFirmantes.ProvinciaTxt = dr["ProvinciaEmpleo"].ToString();
                ucDireccionEmpleoFirmantes.DistritoTxt = dr["DistritoEmpleo"].ToString();
                ucDireccionEmpleoFirmantes.CorregimientoTxt = dr["CorregimientoEmpleo"].ToString();
            }
            else
            {
                ucDireccionEmpleoFirmantes.HabilitarPais = true;
                ucDireccionEmpleoFirmantes.Direccion = dr["DireccionEmpleo"].ToString();
                ucDireccionEmpleoFirmantes.Ciudad = dr["CiudadEmpleo"].ToString();
            }
            ucDireccionEmpleoFirmantes.Barrio = dr["BarrioEmpleo"].ToString();
            ucDireccionEmpleoFirmantes.Calle = dr["CalleEmpleo"].ToString();
            ucDireccionEmpleoFirmantes.Residencia = dr["ResidenciaEmpleo"].ToString();
            ucDireccionEmpleoFirmantes.NoCasa = dr["NumeroCasaEmpleo"].ToString();
            ucDireccionEmpleoFirmantes.ApartadoPostal = dr["ApartadoPostalEmpleo"].ToString();
            ucDireccionEmpleoFirmantes.ApartadoPostal = dr["UbicacionFacilEmpleo"].ToString();


            //FIN DIRECCION EMPLEO Firmantes



            UcDatosAdicionalesFirmantes.TelefonoOficina = dr["TelefonoOficina"].ToString();
            UcDatosAdicionalesFirmantes.Fax = dr["TelefonoFax"].ToString();
            UcDatosAdicionalesFirmantes.IdentificacionContraloría = dr["IdentificacionContraloria"].ToString();
            UcDatosAdicionalesFirmantes.NumeroEmpleado = dr["NumeroDeEmpleado"].ToString();
            UcDatosAdicionalesFirmantes.FechadeIngreso = dr["FechaIngresoEmpleo"].ToString();
            UcDatosAdicionalesFirmantes.TiempoEmpleo = dr["TiempoDeEmpleo"].ToString();
            UcDatosAdicionalesFirmantes.Correo = dr["CorreoEmpleo"].ToString();
            UcDatosAdicionalesFirmantes.RangoSalarial = dr["RangoSalarial"].ToString();
            UcDatosAdicionalesFirmantes.SalarioActual = dr["SalarioActual"].ToString();
            UcDatosAdicionalesFirmantes.NivelEducacion = dr["NivelEducacion"].ToString();
            UcDatosAdicionalesFirmantes.Profesion = dr["Profesion"].ToString();
            UcDatosAdicionalesFirmantes.FuenteDeIngreso = dr["FuenteDeIngreso"].ToString();
            UcDatosAdicionalesFirmantes.Cargo = dr["Cargo"].ToString();
            //UcDatosAdicionalesFirmantes.TipoActividad = dr["TipoDeActividad"].ToString();
        }

        //protected void GuardarFirmantes()
        //{
        //    DataTable dtDetalles = new DataTable();
        //    dtDetalles = (DataTable)(Session["Firmantes"]);
        //    Usuario = (UsuarioBase)Session[Constantes.SESIONUSUARIO];
        //    if (dtDetalles != null)
        //    {
        //        foreach (DataRow dr in dtDetalles.Rows)
        //        {

        //            objBS.GuardarFirmantes(Usuario, dr["Identificacion"].ToString(), dr["TipoIdentificacion"].ToString(), dr["SeguroSocial"].ToString(),
        //                                dr["PrimerNombre"].ToString(), dr["SegundoNombre"].ToString(), dr["PrimerApellido"].ToString(), dr["SegundoApellido"].ToString(), dr["ApellidoCasada"].ToString(), dr["Sexo"].ToString(), dr["EstadoCivil"].ToString(), ConvertirFecha(dr["FechaNacimiento"].ToString()), dr["Pais"].ToString(),
        //                                dr["Provincia"].ToString(), dr["Distrito"].ToString(), dr["Corregimiento"].ToString(), dr["Barrio"].ToString(), dr["Calle"].ToString(), dr["Residencia"].ToString(), dr["NumeroCasa"].ToString(), dr["ApartadoPostal"].ToString(), dr["UbicacionFacilResidencia"].ToString(), dr["Email"].ToString(), dr["Telefono1"].ToString(), dr["Telefono2"].ToString(), dr["Telefono3"].ToString(),
        //                                dr["NombreEmpresa"].ToString(), dr["CodigoIndustria"].ToString(), dr["TipoEmpresa"].ToString(), dr["TipoNegocio"].ToString(), dr["DireccionEmpleo"].ToString(), dr["TelefonoOficina"].ToString(), dr["TelefonoFax"].ToString(), dr["IdentificacionContraloria"].ToString(), dr["NumeroDeEmpleado"].ToString(), ConvertirFecha(dr["FechaIngresoEmpleo"].ToString()), dr["TiempoDeEmpleo"].ToString(), dr["RangoSalarial"].ToString(), ConvertirDecimal(dr["SalarioActual"].ToString()),
        //                                dr["NivelEducacion"].ToString(), dr["Profesion"].ToString(), dr["FuenteDeIngreso"].ToString(), dr["Cargo"].ToString(), dr["TipoDeActividad"].ToString(), dr["CorreoEmpleo"].ToString(), dr["Direccion"].ToString(), dr["Ciudad"].ToString());

        //        }
        //    }
        //}

        protected void LimpiarFirmantes()
        {
            ucIdentificacionFirmantes.NumeroIdentificacion = string.Empty;
            ucIdentificacionFirmantes.TipoIdentificacion = "%";
            ucIdentificacionFirmantes.NumeroSeguroSocial = string.Empty;
            ucDatosFirmantes.PrimerNombre = string.Empty;
            ucDatosFirmantes.SegundoNombre = string.Empty;
            ucDatosFirmantes.PrimerApellido = string.Empty;
            ucDatosFirmantes.SegundoApellido = string.Empty;
            ucDatosFirmantes.ApellidoCasada = string.Empty;
            ucDatosFirmantes.LimpiarGenero = string.Empty;
            ucDatosFirmantes.EstadoCivil = "%";
            ucDatosFirmantes.FechaNacimiento = string.Empty;
            ucDireccionFirmantes.Pais = "%";

            //PAIS
            ucDireccionFirmantes.Provincia = "%";
            ucDireccionFirmantes.Distrito = "%";
            ucDireccionFirmantes.Corregimiento = "%";
            ucDireccionFirmantes.ProvinciaTxt = string.Empty;
            ucDireccionFirmantes.DistritoTxt = string.Empty;
            ucDireccionFirmantes.CorregimientoTxt = string.Empty;
            ucDireccionFirmantes.Ciudad = string.Empty;
            ucDireccionFirmantes.Direccion = string.Empty;

            ucDireccionFirmantes.Barrio = string.Empty;
            ucDireccionFirmantes.Calle = string.Empty;
            ucDireccionFirmantes.Residencia = string.Empty;
            ucDireccionFirmantes.NoCasa = string.Empty;
            ucDireccionFirmantes.ApartadoPostal = string.Empty;
            ucDireccionFirmantes.ApartadoPostal = string.Empty;
            ucDireccionFirmantes.Email = string.Empty;
            ucDireccionFirmantes.UbicacionFacilResidencia = string.Empty;
            ucTelefonosFirmantes.Telefono1 = String.Empty;
            ucTelefonosFirmantes.Telefono2 = String.Empty;
            ucTelefonosFirmantes.Telefono3 = String.Empty;

            UcDatosAdicionalesFirmantes.NombreEmpresa = string.Empty;
            UcDatosAdicionalesFirmantes.CodigoIndustria = "%";
            UcDatosAdicionalesFirmantes.TipoEmpresa = "%";
            UcDatosAdicionalesFirmantes.TipoNegocio = "%";
            //UcDatosAdicionalesFirmantes.DireccionEmpresa = string.Empty;




            //DIRECCION EMPLEO Firmantes

            ucDireccionEmpleoFirmantes.Provincia = "%";
            ucDireccionEmpleoFirmantes.Distrito = "%";
            ucDireccionEmpleoFirmantes.Corregimiento = "%";
            ucDireccionEmpleoFirmantes.ProvinciaTxt = string.Empty;
            ucDireccionEmpleoFirmantes.DistritoTxt = string.Empty;
            ucDireccionEmpleoFirmantes.CorregimientoTxt = string.Empty;
            ucDireccionEmpleoFirmantes.Direccion = string.Empty;
            ucDireccionEmpleoFirmantes.Ciudad = string.Empty;

            ucDireccionEmpleoFirmantes.Barrio = string.Empty;
            ucDireccionEmpleoFirmantes.Calle = string.Empty;
            ucDireccionEmpleoFirmantes.Residencia = string.Empty;
            ucDireccionEmpleoFirmantes.NoCasa = string.Empty;
            ucDireccionEmpleoFirmantes.ApartadoPostal = string.Empty;
            ucDireccionEmpleoFirmantes.ApartadoPostal = string.Empty;
            ucDireccionEmpleoFirmantes.Email = string.Empty;
            ucDireccionEmpleoFirmantes.UbicacionFacilResidencia = string.Empty;

            //FIN DIRECCION EMPLEO Firmantes





            UcDatosAdicionalesFirmantes.TelefonoOficina = string.Empty;
            UcDatosAdicionalesFirmantes.Fax = string.Empty;
            UcDatosAdicionalesFirmantes.IdentificacionContraloría = string.Empty;
            UcDatosAdicionalesFirmantes.NumeroEmpleado = string.Empty;
            UcDatosAdicionalesFirmantes.FechadeIngreso = string.Empty;
            UcDatosAdicionalesFirmantes.TiempoEmpleo = string.Empty;
            UcDatosAdicionalesFirmantes.Correo = string.Empty;
            UcDatosAdicionalesFirmantes.RangoSalarial = "%";
            UcDatosAdicionalesFirmantes.SalarioActual = string.Empty;
            UcDatosAdicionalesFirmantes.NivelEducacion = "%";
            UcDatosAdicionalesFirmantes.Profesion = "%";
            UcDatosAdicionalesFirmantes.FuenteDeIngreso = "%";
            UcDatosAdicionalesFirmantes.Cargo = string.Empty;
           // UcDatosAdicionalesFirmantes.TipoActividad = "%";
        }

        protected void gvPEPs_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (gvPEPs.Rows.Count <= 0)
                return;

            if (e.CommandName == "Editar")
            {
                EditarPEPs(e.CommandArgument.ToString());
                EliminarPEPs(e.CommandArgument.ToString());
                btnNuevoPEPs_Click(sender, e);
            }
            if (e.CommandName == "Eliminar")
            {
                EliminarPEPs(e.CommandArgument.ToString());
            }
        }

        protected void EliminarPEPs(string ID)
        {

            DataTable dtdetalles = (DataTable)(Session[Constantes.SESIONPEPS]);
            DataRow[] drEliminar;
            drEliminar = dtdetalles.Select(string.Format("ID='{0}'", ID));

            if (drEliminar.Length > 0)
            {
                drEliminar[0].Delete();

            }

            Session.Add(Constantes.SESIONPEPS, dtdetalles);

            gvPEPs.DataSource = dtdetalles;
            gvPEPs.DataBind();

        }

        protected void EditarPEPs(string ID)
        {
            DataTable dtDetalles = new DataTable();
            dtDetalles = (DataTable)(Session[Constantes.SESIONPEPS]);
            DataTable dt = SelectIntoDataTable(String.Format("ID='{0}'", ID), dtDetalles);
            DataRow dr;
            dr = dt.Rows[0];
            // Mostrar los datos para Editar

            ucPEPsJuridica.Nombre = dr["NombreyApellido"].ToString();
            ucPEPsJuridica.NoIdentificacion = dr["Identificacion"].ToString();
            ucPEPsJuridica.Nacionalidad = dr["Nacionalidad"].ToString();
            ucPEPsJuridica.TipoRelacion = dr["TipoRelacion"].ToString();
            ucPEPsJuridica.Cargo = dr["CargoPolitico"].ToString();
            ucPEPsJuridica.Pais = dr["Pais"].ToString();

        }

        protected void btnNuevoPEPs_Click(object sender, EventArgs e)
        {
            TabsPEPs.Enabled = true;
            TabInfoAsociada.ActiveTabIndex = 4;
            TabsInformacionComplementaria.Enabled = false;
        }

        protected void btnAgregarPEPs_Click(object sender, EventArgs e)
        {
            InsertarPEPs();
            IrAInformacionAsociada();
            LimpiarPEPs();
            // btnNuevoPEPs.Text = "Editar";
        }

        protected void LimpiarPEPs()
        {
            ucPEPsJuridica.Nombre = string.Empty;
            ucPEPsJuridica.NoIdentificacion = string.Empty;
            ucPEPsJuridica.Nacionalidad = "%";
            ucPEPsJuridica.TipoRelacion = string.Empty;
            ucPEPsJuridica.Cargo = string.Empty;
            ucPEPsJuridica.Pais = "%";
        }

        protected void btnCancelarPEPs_Click(object sender, EventArgs e)
        {
            IrAInformacionAsociada();
        }

        protected void InsertarPEPs()
        {
            DataTable dtDetalles = new DataTable();
            Usuario = (UsuarioBase)Session[Constantes.SESIONUSUARIO];
            if ((Session[Constantes.SESIONPEPS]) != null)
            {
                dtDetalles = (DataTable)(Session[Constantes.SESIONPEPS]);
            }
            else
            {
                CrearDatatablePEPs();
                dtDetalles = (DataTable)(Session[Constantes.SESIONPEPS]);
            }
            DataRow dr;
            dr = dtDetalles.NewRow();
            dr["ID"] = Guid.NewGuid().ToString();
            dr["NombreyApellido"] = ucPEPsJuridica.Nombre;
            dr["Identificacion"] = ucPEPsJuridica.NoIdentificacion;
            dr["Nacionalidad"] = ucPEPsJuridica.Nacionalidad;
            dr["TipoRelacion"] = ucPEPsJuridica.TipoRelacion;
            dr["CargoPolitico"] = ucPEPsJuridica.Cargo;
            dr["Pais"] = ucPEPsJuridica.Pais;
            //dtDetalles.Rows.Add(dr);
            //Session.Add(Constantes.SESIONPEPS, dtDetalles);
            //gvPEPs.DataSource = dtDetalles;
            //gvPEPs.DataBind();
            try
            {
                Mensaje retMensaje = new Mensaje();
                retMensaje = objBS.GuardarPEPs(Usuario, ucPEPsJuridica.Nombre, ucPEPsJuridica.NoIdentificacion, ucPEPsJuridica.Nacionalidad, ucPEPsJuridica.TipoRelacion, ucPEPsJuridica.Cargo, ucPEPsJuridica.Pais);
                if (retMensaje.Status == Mensaje.EnumStatus.OK)
                {
                    this.CargarGridPEPs(Usuario.IdCliente);
                    Session.Add(Constantes.SESIONPEPS, dtDetalles);
                    //dtDetalles.Rows.Add(dr);
                    //          Session.Add(Constantes.SESIONPEPS, dtDetalles);
                    //          gvPEPs.DataSource = dtDetalles;
                    //          gvPEPs.DataBind();
                }
            }
            catch
            { }
        }

        protected void CargarGridPEPs(int IDCliente)
        {
            try
            {
                DataSet dsDatos = new DataSet();
                this.BuscarInformacionPEPs(IDCliente, ref dsDatos);

                if (dsDatos.Tables.Count > 0)
                    if (dsDatos.Tables[0].Rows.Count > 0)
                    {
                        gvPEPs.DataSource = dsDatos;
                        gvPEPs.DataBind();
                    }
            }
            catch
            { }
        }

        protected void BuscarInformacionPEPs(int IDCliente, ref DataSet dsDatos)
        {
            try
            {
                Mensaje retMensaje = new Mensaje();
                BSBanesco objBSB = new BSBanesco();

                objBSB.PEPS_ObtenerPEPsPorIDCliente(IDCliente, ref dsDatos);

            }
            catch
            {

            }
        }

        protected void CrearDatatablePEPs()
        {
            DataTable dtDetalles = new DataTable();
            //dtDetalles = new DataTable();
            dtDetalles.Columns.Add("ID", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("NombreyApellido", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Identificacion", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Nacionalidad", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("TipoRelacion", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("CargoPolitico", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Pais", System.Type.GetType("System.String"));
            Session.Add(Constantes.SESIONPEPS, dtDetalles);
            gvPEPs.DataSource = dtDetalles;
            gvPEPs.DataBind();
        }

        protected void CrearDatatableRJA()
        {
            DataTable dtDetalles = new DataTable();
            //dtDetalles = new DataTable();
            dtDetalles.Columns.Add("ID", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("NombreyApellido", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Identificacion", System.Type.GetType("System.String"));
            dtDetalles.Columns.Add("Tipo", System.Type.GetType("System.String"));
            Session.Add(Constantes.SESIONRJA, dtDetalles);
            gvRJA.DataSource = dtDetalles;
            gvRJA.DataBind();
        }

        protected void InsertarRJA()
        {
            DataTable dtDetalles = new DataTable();
            Usuario = (UsuarioBase)Session[Constantes.SESIONUSUARIO];
            if ((Session[Constantes.SESIONRJA]) != null)
            {
                dtDetalles = (DataTable)(Session[Constantes.SESIONRJA]);
            }
            else
            {
                CrearDatatableRJA();
                dtDetalles = (DataTable)(Session[Constantes.SESIONRJA]);
            }
            dtDetalles.Clear();
            DataRow dr;
            if ((ucRepresentante.Nombre != string.Empty) & (ucRepresentante.Identificacion != string.Empty))
            {
                dr = dtDetalles.NewRow();
                dr["NombreyApellido"] = ucRepresentante.Nombre;
                dr["Identificacion"] = ucRepresentante.Identificacion;
                dr["Tipo"] = "Representante Legal";
                dtDetalles.Rows.Add(dr);
            }
            if ((UcDirectiva1.Nombre != string.Empty) & (UcDirectiva1.Identificacion != string.Empty))
            {
                dr = dtDetalles.NewRow();
                dr["NombreyApellido"] = UcDirectiva1.Nombre;
                dr["Identificacion"] = UcDirectiva1.Identificacion;
                dr["Tipo"] = "Directivo";
                dtDetalles.Rows.Add(dr);
            }
            if ((UcDirectiva2.Nombre != string.Empty) & (UcDirectiva2.Identificacion != string.Empty))
            {
                dr = dtDetalles.NewRow();
                dr["NombreyApellido"] = UcDirectiva2.Nombre;
                dr["Identificacion"] = UcDirectiva2.Identificacion;
                dr["Tipo"] = "Directivo";
                dtDetalles.Rows.Add(dr);
            }
            if ((UcDirectiva3.Nombre != string.Empty) & (UcDirectiva3.Identificacion != string.Empty))
            {
                dr = dtDetalles.NewRow();
                dr["NombreyApellido"] = UcDirectiva3.Nombre;
                dr["Identificacion"] = UcDirectiva3.Identificacion;
                dr["Tipo"] = "Directivo";
                dtDetalles.Rows.Add(dr);
            }
            if ((UcAccionista1.Nombre != string.Empty) & (UcAccionista1.Identificacion != string.Empty))
            {
                dr = dtDetalles.NewRow();
                dr["NombreyApellido"] = UcAccionista1.Nombre;
                dr["Identificacion"] = UcAccionista1.Identificacion;
                dr["Tipo"] = "Accionista";
                dtDetalles.Rows.Add(dr);
            }
            if ((UcAccionista2.Nombre != string.Empty) & (UcAccionista2.Identificacion != string.Empty))
            {
                dr = dtDetalles.NewRow();
                dr["NombreyApellido"] = UcAccionista2.Nombre;
                dr["Identificacion"] = UcAccionista2.Identificacion;
                dr["Tipo"] = "Accionista";
                dtDetalles.Rows.Add(dr);
            }
            GuardarInformacionAsociada();
            Session.Add(Constantes.SESIONRJA, dtDetalles);
            CargarGridInformacionAsociada(Usuario.IdCliente);
        }

        protected void BuscarInformacionAsociadaRJA(int IdCliente, ref DataSet dsDatos)
        {
            try
            {
                Mensaje retMensaje = new Mensaje();
                BSBanesco objBSB = new BSBanesco();
                retMensaje = objBSB.AccionistaRepresentanteDirectiva_ObtenerAccionistaRepresentanteDirectivaPorIDCliente(IdCliente, ref dsDatos);
            }
            catch
            {

            }
        }

        protected void CargarGridInformacionAsociada(int IDCliente)
        {
            try
            {
                DataSet dsDatos = new DataSet();
                this.BuscarInformacionAsociadaRJA(IDCliente, ref dsDatos);
                if (dsDatos.Tables.Count > 0)
                    if (dsDatos.Tables[0].Rows.Count > 0)
                    {
                        gvRJA.DataSource = dsDatos;
                        gvRJA.DataBind();
                        btnNuevoRJA.Visible = false;
                    }
            }
            catch
            {

            }
        }

        private void EstablecerMensaje()
        {
            string mensaje1, mensaje2, mensaje3;
            mensaje1 = " Registrar generales y presionar Guardar         ";
            mensaje2 = " Ingresar Nuevos, al finalizar, presionar Enviar ";
            mensaje3 = " Imprimir formularios de apertura de cuentas Banesco ";
            string tipoMensaje = "Informacion";

            ucMensajes1.Mensaje = mensaje1;
            if (String.Equals(tipoMensaje, WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Informacion.ToString()))
                ucMensajes1.TipoMensaje = WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Informacion;

            ucMensajes1.EstablecerInformacion();

            ucMensajes2.Mensaje = mensaje2;
            if (String.Equals(tipoMensaje, WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Informacion.ToString()))
                ucMensajes2.TipoMensaje = WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Informacion;

            ucMensajes2.EstablecerInformacion();

            ucMensajes3.Mensaje = mensaje3;
            if (String.Equals(tipoMensaje, WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Informacion.ToString()))
                ucMensajes3.TipoMensaje = WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Informacion;

            ucMensajes3.EstablecerInformacion();

            ucMensajes1.DivHeight = true;
            ucMensajes2.DivHeight = true;
            ucMensajes3.DivHeight = true;
        }

        protected void PrimerStageCompletado()
        {
            string mensaje;
            mensaje = " Registro de Informacion General. Completado ";
            ucMensajes1.Mensaje = mensaje;
            ucMensajes1.TipoMensaje = WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Satisfactorio;
            ucMensajes1.EstablecerInformacion();
        }

        protected void SegundoStageCompletado()
        {
            string mensaje;
            mensaje = " Ingreso de Información asociada. Completado ";
            ucMensajes2.Mensaje = mensaje;
            ucMensajes2.TipoMensaje = WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Satisfactorio;
            ucMensajes2.EstablecerInformacion();
        }

    }
}
